/*
 * Copyright (c) 2008-2010,2012-2014 Apple Inc. All Rights Reserved.
 *
 * @APPLE_LICENSE_HEADER_START@
 * 
 * This file contains Original Code and/or Modifications of Original Code
 * as defined in and that are subject to the Apple Public Source License
 * Version 2.0 (the 'License'). You may not use this file except in
 * compliance with the License. Please obtain a copy of the License at
 * http://www.opensource.apple.com/apsl/ and read it before using this
 * file.
 * 
 * The Original Code and all software distributed under the License are
 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 * Please see the License for the specific language governing rights and
 * limitations under the License.
 * 
 * @APPLE_LICENSE_HEADER_END@
 */

#include <AssertMacros.h>

#include <Security/SecCMS.h>
#include <Security/SecItem.h>
#include <Security/SecItemPriv.h>
#include <Security/SecInternal.h>
#include <Security/SecPolicyPriv.h>
#include <Security/SecBasePriv.h>
#include <Security/SecRSAKey.h>
#include <Security/SecCertificatePriv.h>
#include <Security/SecIdentityPriv.h>
#include <Security/SecCertificateRequest.h>
#include <utilities/array_size.h>

#include <CommonCrypto/CommonDigest.h>
#include <CommonCrypto/CommonDigestSPI.h>

#include <CoreFoundation/CoreFoundation.h>
#include <stdlib.h>
#include <unistd.h>

#include "shared_regressions.h"

/*
   Bag Attributes
friendlyName: uranusLeaf
localKeyID: 46 E0 8A 05 63 4D 17 3F CA A4 AA B6 5A DA CF BA 84 22 7C 23
subject=/CN=uranusLeaf/emailAddress=uranus@uranus.com
issuer=/CN=plutoCA/emailAddress=pluto@pluto.com
 */
static const uint8_t _c1[] = {
    0x30, 0x82, 0x02, 0xe0, 0x30, 0x82, 0x01, 0xc8,
    0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02,
    0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
    0xf7, 0x0d, 0x01, 0x01, 0x05, 0x30, 0x32, 0x31,
    0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x03,
    0x0c, 0x07, 0x70, 0x6c, 0x75, 0x74, 0x6f, 0x43,
    0x41, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x09, 0x2a,
    0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01,
    0x0c, 0x0f, 0x70, 0x6c, 0x75, 0x74, 0x6f, 0x40,
    0x70, 0x6c, 0x75, 0x74, 0x6f, 0x2e, 0x63, 0x6f,
    0x6d, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x35, 0x31,
    0x32, 0x31, 0x37, 0x30, 0x30, 0x30, 0x34, 0x32,
    0x35, 0x5a, 0x17, 0x0d, 0x30, 0x36, 0x31, 0x32,
    0x31, 0x37, 0x30, 0x30, 0x30, 0x34, 0x32, 0x35,
    0x5a, 0x30, 0x37, 0x31, 0x13, 0x30, 0x11, 0x06,
    0x03, 0x55, 0x04, 0x03, 0x0c, 0x0a, 0x75, 0x72,
    0x61, 0x6e, 0x75, 0x73, 0x4c, 0x65, 0x61, 0x66,
    0x31, 0x20, 0x30, 0x1e, 0x06, 0x09, 0x2a, 0x86,
    0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x0c,
    0x11, 0x75, 0x72, 0x61, 0x6e, 0x75, 0x73, 0x40,
    0x75, 0x72, 0x61, 0x6e, 0x75, 0x73, 0x2e, 0x63,
    0x6f, 0x6d, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d,
    0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
    0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01,
    0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82,
    0x01, 0x01, 0x00, 0xa6, 0x82, 0x8e, 0xc6, 0x7e,
    0xc9, 0x8c, 0x99, 0x6f, 0xb0, 0x62, 0x32, 0x35,
    0xe7, 0xdb, 0xff, 0x34, 0x84, 0xdc, 0x72, 0xa8,
    0xef, 0x22, 0x6f, 0x93, 0x63, 0x64, 0x80, 0x80,
    0x5d, 0x50, 0x7e, 0xb4, 0x2e, 0x1b, 0x93, 0x93,
    0x49, 0xca, 0xae, 0xcd, 0x34, 0x44, 0x4b, 0xd7,
    0xfa, 0x9f, 0x3c, 0xfc, 0x9e, 0x65, 0xa9, 0xfb,
    0x5e, 0x5d, 0x18, 0xa3, 0xf8, 0xb0, 0x08, 0xac,
    0x8f, 0xfd, 0x03, 0xcb, 0xbd, 0x7f, 0xa0, 0x2a,
    0xa6, 0xea, 0xca, 0xa3, 0x24, 0xef, 0x7c, 0xc3,
    0xeb, 0x95, 0xcb, 0x90, 0x3f, 0x5e, 0xde, 0x78,
    0xf2, 0x3d, 0x32, 0x72, 0xdb, 0x33, 0x6e, 0x9b,
    0x52, 0x9f, 0x0c, 0x60, 0x4a, 0x24, 0xa1, 0xf6,
    0x3b, 0x80, 0xbd, 0xa1, 0xdc, 0x40, 0x03, 0xe7,
    0xa0, 0x59, 0x1f, 0xdb, 0xb4, 0xed, 0x57, 0xdc,
    0x74, 0x0d, 0x99, 0x5a, 0x12, 0x74, 0x64, 0xaa,
    0xb6, 0xa5, 0x96, 0x75, 0xf9, 0x42, 0x43, 0xe2,
    0x52, 0xc2, 0x57, 0x23, 0x75, 0xd7, 0xa9, 0x4f,
    0x07, 0x32, 0x99, 0xbd, 0x3d, 0x44, 0xbd, 0x04,
    0x62, 0xe5, 0xb7, 0x2c, 0x0c, 0x11, 0xc5, 0xb2,
    0x2e, 0xc4, 0x12, 0x1d, 0x7f, 0x42, 0x1e, 0x71,
    0xaf, 0x39, 0x2b, 0x78, 0x47, 0x92, 0x23, 0x44,
    0xef, 0xe3, 0xc1, 0x47, 0x69, 0x5a, 0xf1, 0x48,
    0xaa, 0x37, 0xa4, 0x94, 0x6b, 0x96, 0xe5, 0x4b,
    0xfd, 0x05, 0xc7, 0x9c, 0xcc, 0x38, 0xd1, 0x47,
    0x85, 0x60, 0x7f, 0xef, 0xe9, 0x2e, 0x25, 0x08,
    0xf8, 0x7d, 0x98, 0xdd, 0x6c, 0xeb, 0x4a, 0x32,
    0x33, 0x44, 0x0b, 0x61, 0xb3, 0xf9, 0xae, 0x26,
    0x41, 0xb5, 0x38, 0xdb, 0xcf, 0x13, 0x72, 0x23,
    0x5b, 0x66, 0x20, 0x86, 0x4d, 0x24, 0xc2, 0xd4,
    0x94, 0xde, 0xe3, 0x24, 0xb7, 0xcd, 0x75, 0x9e,
    0x1d, 0x9f, 0xbc, 0xd0, 0x60, 0x34, 0x7d, 0xf8,
    0xcb, 0x41, 0x39, 0x02, 0x03, 0x01, 0x00, 0x01,
    0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
    0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03,
    0x82, 0x01, 0x01, 0x00, 0x17, 0xa5, 0x22, 0xed,
    0xb8, 0x3e, 0x1f, 0x11, 0x99, 0xc5, 0xba, 0x28,
    0x3e, 0x7e, 0xa6, 0xeb, 0x02, 0x81, 0x06, 0xa1,
    0xc6, 0x80, 0xb9, 0x7e, 0x5c, 0x5a, 0x63, 0xe0,
    0x8d, 0xeb, 0xd0, 0xec, 0x9c, 0x3a, 0x94, 0x64,
    0x7c, 0x13, 0x54, 0x0d, 0xd6, 0xe3, 0x27, 0x88,
    0xa6, 0xd2, 0x4b, 0x36, 0xdd, 0x2e, 0xfa, 0x94,
    0xe5, 0x03, 0x27, 0xc9, 0xa6, 0x31, 0x02, 0xea,
    0x40, 0x77, 0x2e, 0x93, 0xc4, 0x4d, 0xe2, 0x70,
    0xe2, 0x67, 0x1c, 0xa8, 0x0d, 0xcd, 0x1a, 0x72,
    0x86, 0x2c, 0xea, 0xdc, 0x7f, 0x8c, 0x49, 0x2c,
    0xe7, 0x99, 0x13, 0xda, 0x3f, 0x58, 0x9e, 0xf5,
    0x4d, 0x3c, 0x8c, 0x1c, 0xed, 0x85, 0xa7, 0xe2,
    0xae, 0xda, 0x5f, 0xbe, 0x36, 0x1c, 0x9f, 0x5a,
    0xa0, 0xdc, 0x2a, 0xc0, 0xee, 0x71, 0x07, 0x26,
    0x8b, 0xe8, 0x8a, 0xf8, 0x2d, 0x36, 0x78, 0xc9,
    0x79, 0xfa, 0xbe, 0x98, 0x59, 0x95, 0x12, 0x24,
    0xf1, 0xda, 0x20, 0xc7, 0x78, 0xf9, 0x7c, 0x6a,
    0x24, 0x43, 0x82, 0xa8, 0x0f, 0xb1, 0x7d, 0x94,
    0xaa, 0x30, 0x35, 0xe5, 0x69, 0xdc, 0x0a, 0x0e,
    0xaf, 0x10, 0x5e, 0x1a, 0x81, 0x50, 0x5c, 0x7e,
    0x24, 0xb3, 0x07, 0x65, 0x4b, 0xc1, 0x7e, 0xc6,
    0x38, 0xdb, 0xd3, 0x6a, 0xf0, 0xd8, 0x85, 0x61,
    0x9a, 0x9f, 0xfe, 0x02, 0x46, 0x29, 0xb2, 0x9a,
    0xe2, 0x04, 0xe7, 0x72, 0xcc, 0x87, 0x46, 0xba,
    0x7d, 0xa8, 0xf9, 0xd0, 0x0f, 0x29, 0xfc, 0xfd,
    0xd1, 0xd0, 0x7f, 0x36, 0xc1, 0xd8, 0x7d, 0x88,
    0x03, 0x62, 0xf5, 0x8c, 0x00, 0xb5, 0xc2, 0x81,
    0x44, 0x67, 0x58, 0x11, 0xb4, 0x3a, 0xbb, 0xd1,
    0x8c, 0x94, 0x20, 0x60, 0xea, 0xa0, 0xac, 0xc1,
    0xf1, 0x08, 0x54, 0xb8, 0xf6, 0x5e, 0xac, 0xf1,
    0xec, 0x78, 0x69, 0x9d, 0x7e, 0x4d, 0x06, 0x3b,
    0x9b, 0x78, 0x78, 0x10
};

/*
   Bag Attributes
friendlyName: uranusLeaf
localKeyID: 46 E0 8A 05 63 4D 17 3F CA A4 AA B6 5A DA CF BA 84 22 7C 23
Key Attributes: <No Attributes>
 */
static const uint8_t _k1[] = {
    0x30, 0x82, 0x04, 0xa4, 0x02, 0x01, 0x00, 0x02,
    0x82, 0x01, 0x01, 0x00, 0xa6, 0x82, 0x8e, 0xc6,
    0x7e, 0xc9, 0x8c, 0x99, 0x6f, 0xb0, 0x62, 0x32,
    0x35, 0xe7, 0xdb, 0xff, 0x34, 0x84, 0xdc, 0x72,
    0xa8, 0xef, 0x22, 0x6f, 0x93, 0x63, 0x64, 0x80,
    0x80, 0x5d, 0x50, 0x7e, 0xb4, 0x2e, 0x1b, 0x93,
    0x93, 0x49, 0xca, 0xae, 0xcd, 0x34, 0x44, 0x4b,
    0xd7, 0xfa, 0x9f, 0x3c, 0xfc, 0x9e, 0x65, 0xa9,
    0xfb, 0x5e, 0x5d, 0x18, 0xa3, 0xf8, 0xb0, 0x08,
    0xac, 0x8f, 0xfd, 0x03, 0xcb, 0xbd, 0x7f, 0xa0,
    0x2a, 0xa6, 0xea, 0xca, 0xa3, 0x24, 0xef, 0x7c,
    0xc3, 0xeb, 0x95, 0xcb, 0x90, 0x3f, 0x5e, 0xde,
    0x78, 0xf2, 0x3d, 0x32, 0x72, 0xdb, 0x33, 0x6e,
    0x9b, 0x52, 0x9f, 0x0c, 0x60, 0x4a, 0x24, 0xa1,
    0xf6, 0x3b, 0x80, 0xbd, 0xa1, 0xdc, 0x40, 0x03,
    0xe7, 0xa0, 0x59, 0x1f, 0xdb, 0xb4, 0xed, 0x57,
    0xdc, 0x74, 0x0d, 0x99, 0x5a, 0x12, 0x74, 0x64,
    0xaa, 0xb6, 0xa5, 0x96, 0x75, 0xf9, 0x42, 0x43,
    0xe2, 0x52, 0xc2, 0x57, 0x23, 0x75, 0xd7, 0xa9,
    0x4f, 0x07, 0x32, 0x99, 0xbd, 0x3d, 0x44, 0xbd,
    0x04, 0x62, 0xe5, 0xb7, 0x2c, 0x0c, 0x11, 0xc5,
    0xb2, 0x2e, 0xc4, 0x12, 0x1d, 0x7f, 0x42, 0x1e,
    0x71, 0xaf, 0x39, 0x2b, 0x78, 0x47, 0x92, 0x23,
    0x44, 0xef, 0xe3, 0xc1, 0x47, 0x69, 0x5a, 0xf1,
    0x48, 0xaa, 0x37, 0xa4, 0x94, 0x6b, 0x96, 0xe5,
    0x4b, 0xfd, 0x05, 0xc7, 0x9c, 0xcc, 0x38, 0xd1,
    0x47, 0x85, 0x60, 0x7f, 0xef, 0xe9, 0x2e, 0x25,
    0x08, 0xf8, 0x7d, 0x98, 0xdd, 0x6c, 0xeb, 0x4a,
    0x32, 0x33, 0x44, 0x0b, 0x61, 0xb3, 0xf9, 0xae,
    0x26, 0x41, 0xb5, 0x38, 0xdb, 0xcf, 0x13, 0x72,
    0x23, 0x5b, 0x66, 0x20, 0x86, 0x4d, 0x24, 0xc2,
    0xd4, 0x94, 0xde, 0xe3, 0x24, 0xb7, 0xcd, 0x75,
    0x9e, 0x1d, 0x9f, 0xbc, 0xd0, 0x60, 0x34, 0x7d,
    0xf8, 0xcb, 0x41, 0x39, 0x02, 0x03, 0x01, 0x00,
    0x01, 0x02, 0x82, 0x01, 0x00, 0x4d, 0x27, 0xf2,
    0x40, 0xc8, 0x3f, 0x5c, 0x87, 0x3c, 0xd9, 0xde,
    0xa6, 0xa5, 0x93, 0xea, 0xbd, 0x36, 0xf8, 0xd9,
    0xad, 0xc7, 0xda, 0x07, 0x7a, 0xec, 0x31, 0x02,
    0x41, 0x09, 0x3a, 0x34, 0x32, 0x82, 0x0b, 0x5b,
    0x7b, 0xe6, 0xa4, 0x2a, 0xe7, 0x14, 0xef, 0x43,
    0x36, 0x61, 0xbe, 0x20, 0x4b, 0x82, 0x43, 0x63,
    0x98, 0x80, 0x82, 0x19, 0x61, 0x71, 0x99, 0xaa,
    0xf8, 0x59, 0xfd, 0xde, 0xa0, 0x03, 0xa8, 0xab,
    0x9a, 0xec, 0x28, 0xac, 0x63, 0x79, 0x75, 0x84,
    0x03, 0xac, 0x45, 0x5e, 0x04, 0x15, 0xb3, 0x47,
    0xa2, 0x8f, 0x28, 0xb0, 0x72, 0xd0, 0x06, 0x02,
    0xaf, 0x1e, 0x0a, 0x0a, 0xe9, 0x11, 0x35, 0x4a,
    0x04, 0x42, 0xb5, 0x0f, 0xd2, 0xcf, 0x4d, 0xdf,
    0xdb, 0xef, 0x58, 0xbd, 0xf3, 0xa5, 0x3b, 0x11,
    0x3f, 0xc5, 0x47, 0x81, 0x85, 0xad, 0xd7, 0x1f,
    0x58, 0x06, 0x42, 0xdc, 0x37, 0x3c, 0xdb, 0x98,
    0x33, 0xa1, 0xc6, 0x80, 0x07, 0xe0, 0x2b, 0xc5,
    0xf5, 0x60, 0x35, 0x6a, 0xa2, 0x06, 0x40, 0x4a,
    0xac, 0x64, 0x02, 0x58, 0x4d, 0x07, 0xe3, 0x69,
    0xd7, 0xe0, 0x8f, 0xb5, 0xf4, 0xbc, 0xfa, 0xab,
    0x1a, 0xb0, 0xfa, 0x29, 0xf8, 0xca, 0xde, 0x78,
    0xf0, 0x89, 0xe2, 0xf9, 0xb7, 0x68, 0x5b, 0x0e,
    0xdc, 0x4e, 0x8a, 0x56, 0x8d, 0x33, 0x20, 0x2e,
    0xed, 0x2e, 0xab, 0x6f, 0xba, 0x77, 0xef, 0xe6,
    0x12, 0x62, 0x49, 0x9e, 0x87, 0x76, 0x1c, 0x1e,
    0xf4, 0x0e, 0x9e, 0x78, 0x98, 0x91, 0x1a, 0xe3,
    0xb4, 0x51, 0x4b, 0x8c, 0x2f, 0x08, 0x97, 0x8f,
    0xf9, 0x68, 0x61, 0x40, 0xcd, 0xb6, 0x10, 0xb4,
    0xfb, 0x75, 0xb4, 0x20, 0xc1, 0x5a, 0xda, 0x64,
    0xfd, 0x51, 0x06, 0x85, 0x9a, 0x9e, 0x5d, 0x82,
    0x14, 0xd4, 0x41, 0x4e, 0x75, 0x10, 0xb5, 0x7b,
    0xd0, 0x4c, 0xd1, 0x00, 0x01, 0x02, 0x81, 0x81,
    0x00, 0xcf, 0x8e, 0x68, 0x04, 0x67, 0x09, 0xa9,
    0x6e, 0xff, 0x11, 0x8c, 0xe5, 0xe4, 0x16, 0xdd,
    0xb6, 0xa6, 0x55, 0xca, 0x4b, 0x0b, 0xbb, 0xb7,
    0xf5, 0xe5, 0x73, 0xf3, 0x24, 0x84, 0x29, 0xb2,
    0xc3, 0xbc, 0x7f, 0x2b, 0x4a, 0xc7, 0xdf, 0x46,
    0x8e, 0xe1, 0x35, 0x69, 0x1b, 0x8e, 0x9f, 0x6b,
    0x4d, 0xf3, 0x65, 0xae, 0x3d, 0x87, 0x2b, 0xc9,
    0xf0, 0x8c, 0xf2, 0x88, 0x2f, 0x1b, 0x79, 0x80,
    0xd2, 0xb2, 0x64, 0x0a, 0xcc, 0x66, 0x69, 0x4c,
    0xa1, 0x85, 0xc4, 0x6a, 0x94, 0x46, 0x70, 0x69,
    0xbc, 0x8c, 0x1c, 0x62, 0x65, 0x4d, 0x68, 0xcc,
    0xe3, 0x3c, 0x6c, 0xe7, 0xd1, 0x09, 0xed, 0xdd,
    0x42, 0x10, 0x11, 0x6b, 0xdd, 0x7c, 0xe3, 0xe1,
    0x3b, 0x3b, 0x0d, 0x01, 0x6d, 0xca, 0x2f, 0x4b,
    0x45, 0x5e, 0x76, 0x5d, 0x5c, 0x6f, 0x53, 0xa4,
    0x38, 0x74, 0x75, 0x94, 0x2c, 0xda, 0xf8, 0xa6,
    0x01, 0x02, 0x81, 0x81, 0x00, 0xcd, 0x5f, 0x9d,
    0x6c, 0x94, 0xf6, 0x44, 0x37, 0x72, 0xfe, 0xcf,
    0xbe, 0x82, 0x96, 0x24, 0x22, 0x12, 0x07, 0x6f,
    0xd1, 0x57, 0x7b, 0xc7, 0x63, 0x20, 0xf5, 0x93,
    0x79, 0x70, 0x0b, 0xe4, 0x38, 0x19, 0x62, 0x7b,
    0x89, 0x3e, 0x45, 0xdf, 0xd6, 0xae, 0x9d, 0x0d,
    0xa8, 0x76, 0xc1, 0xbd, 0x04, 0x2b, 0xaa, 0x30,
    0x6a, 0xac, 0x65, 0x91, 0x61, 0xf0, 0xf8, 0x5d,
    0xa3, 0x53, 0xa4, 0xfb, 0x99, 0xac, 0x46, 0x7a,
    0x12, 0x4b, 0xf7, 0xa7, 0x48, 0x41, 0x61, 0x48,
    0x26, 0x5c, 0x68, 0x2f, 0x73, 0x91, 0xe4, 0x74,
    0xcd, 0xc9, 0x8b, 0xe7, 0x26, 0xe4, 0x35, 0xde,
    0x32, 0x6b, 0x24, 0x49, 0xf2, 0x04, 0x67, 0x3d,
    0x31, 0x8f, 0x22, 0xe5, 0x49, 0xae, 0x49, 0x94,
    0xb3, 0x45, 0x2b, 0xed, 0x6f, 0x9c, 0xc7, 0x80,
    0xf0, 0x42, 0xd5, 0x8f, 0x27, 0xd6, 0xd6, 0x49,
    0xf2, 0x16, 0xcc, 0x4b, 0x39, 0x02, 0x81, 0x81,
    0x00, 0xbb, 0xb7, 0xd7, 0x59, 0xcb, 0xfb, 0x10,
    0x13, 0xc4, 0x7b, 0x92, 0x0c, 0x45, 0xcb, 0x6c,
    0x81, 0x0a, 0x55, 0x63, 0x1d, 0x96, 0xa2, 0x13,
    0xd2, 0x40, 0xd1, 0x2a, 0xa1, 0xe7, 0x2a, 0x73,
    0x74, 0xd6, 0x61, 0xc9, 0xbc, 0xdb, 0xa2, 0x93,
    0x85, 0x1c, 0x28, 0x9b, 0x44, 0x82, 0x2c, 0xaa,
    0xf7, 0x18, 0x60, 0xe9, 0x42, 0xda, 0xa2, 0xff,
    0x04, 0x21, 0xe6, 0x24, 0xc7, 0x3e, 0x39, 0x19,
    0x0a, 0xf6, 0xae, 0xc6, 0x99, 0x71, 0x32, 0x61,
    0x4d, 0x60, 0xd7, 0x71, 0x71, 0x63, 0x77, 0xbe,
    0x19, 0xfa, 0x3a, 0x9d, 0xbf, 0x73, 0x50, 0x8a,
    0xa6, 0x26, 0x7b, 0x74, 0xfa, 0x39, 0xd9, 0xb9,
    0x18, 0x4b, 0xc2, 0x05, 0xe5, 0x8f, 0x53, 0xe6,
    0xdc, 0x14, 0x1f, 0x42, 0x20, 0x93, 0x11, 0x4d,
    0x29, 0x93, 0x32, 0xc8, 0x63, 0x96, 0x88, 0x76,
    0x69, 0x5c, 0xe3, 0x0e, 0xbd, 0xb6, 0xd9, 0xd6,
    0x01, 0x02, 0x81, 0x80, 0x62, 0xa2, 0xed, 0x84,
    0xdc, 0xf6, 0x7a, 0x44, 0xf7, 0x62, 0x12, 0x7c,
    0xb9, 0x53, 0x4a, 0xff, 0x62, 0x11, 0x58, 0x4e,
    0xfe, 0xe9, 0x60, 0x15, 0xe8, 0x1a, 0x8a, 0x3d,
    0xe4, 0xe6, 0x91, 0x31, 0xb0, 0x5f, 0x70, 0x5d,
    0xb6, 0x1e, 0xf1, 0x26, 0xb6, 0xae, 0x8f, 0x84,
    0xbd, 0xa4, 0xc7, 0x17, 0x5d, 0xb1, 0x5b, 0x97,
    0xa0, 0x3d, 0x17, 0xda, 0x26, 0x55, 0xe3, 0x03,
    0x32, 0x85, 0x26, 0xa1, 0xe3, 0xef, 0xe5, 0x69,
    0x2c, 0x3b, 0x41, 0x88, 0x9e, 0x7e, 0x0e, 0x9c,
    0xfd, 0xfc, 0xbb, 0xed, 0x91, 0xc0, 0x5b, 0xa9,
    0x0a, 0x87, 0xba, 0xf9, 0x1e, 0xda, 0x10, 0x61,
    0xbe, 0xbb, 0xab, 0x18, 0x25, 0xad, 0x3f, 0xe2,
    0xb1, 0x90, 0x5c, 0xf7, 0x4a, 0x51, 0xe4, 0xad,
    0x45, 0x27, 0x97, 0xdd, 0xe7, 0x3a, 0x9a, 0x5e,
    0xca, 0x7a, 0xaf, 0x4a, 0xbf, 0x10, 0x24, 0x6b,
    0xb5, 0x2f, 0x61, 0x61, 0x02, 0x81, 0x81, 0x00,
    0x85, 0x7c, 0x78, 0xa5, 0x11, 0xdf, 0xc3, 0x6a,
    0x38, 0x48, 0xfa, 0x7e, 0x48, 0xf0, 0x5a, 0x58,
    0xe2, 0xc5, 0x83, 0x4e, 0x38, 0x3f, 0x4a, 0x2b,
    0x07, 0x57, 0x31, 0xe7, 0xbe, 0x50, 0xb1, 0xbb,
    0x24, 0xf3, 0x3d, 0x8b, 0x53, 0xb7, 0xd1, 0x47,
    0x72, 0x5e, 0xd5, 0xd6, 0x4c, 0xce, 0x2c, 0x46,
    0x61, 0x9a, 0xaa, 0xc3, 0x0e, 0xd4, 0x23, 0x2c,
    0xdd, 0xf5, 0xb7, 0xad, 0x38, 0x52, 0x17, 0xc4,
    0x16, 0xbb, 0xda, 0x1c, 0x61, 0xb1, 0xca, 0x8d,
    0xb2, 0xa0, 0xbe, 0x4f, 0x3d, 0x19, 0x0e, 0xe0,
    0x0e, 0x52, 0xad, 0xf3, 0xaf, 0xd9, 0xcc, 0x78,
    0xc2, 0xb1, 0x5e, 0x05, 0x5e, 0xf2, 0x27, 0x84,
    0x15, 0xe4, 0x8f, 0xca, 0xc5, 0x92, 0x43, 0xe0,
    0x24, 0x8d, 0xf2, 0x5d, 0x55, 0xcc, 0x9d, 0x2f,
    0xa9, 0xf6, 0x9b, 0x67, 0x6a, 0x87, 0x74, 0x36,
    0x34, 0x7c, 0xd4, 0x9d, 0xff, 0xad, 0xee, 0x69
};


/* A certs only cms message. */
static UInt8 certsOnlyMsg[] = {
    0x30, 0x82, 0x04, 0xdc, 0x06, 0x09, 0x2a, 0x86,
    0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0,
    0x82, 0x04, 0xcd, 0x30, 0x82, 0x04, 0xc9, 0x02,
    0x01, 0x01, 0x31, 0x00, 0x30, 0x0b, 0x06, 0x09,
    0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07,
    0x01, 0xa0, 0x82, 0x04, 0xb1, 0x30, 0x82, 0x04,
    0xad, 0x30, 0x82, 0x03, 0x95, 0xa0, 0x03, 0x02,
    0x01, 0x02, 0x02, 0x10, 0x4e, 0x2d, 0x47, 0x54,
    0xcd, 0xbb, 0x8e, 0x98, 0x42, 0xdb, 0x18, 0x9e,
    0x3a, 0xca, 0x80, 0xcc, 0x30, 0x0d, 0x06, 0x09,
    0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
    0x05, 0x05, 0x00, 0x30, 0x57, 0x31, 0x13, 0x30,
    0x11, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93,
    0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x03, 0x63,
    0x6f, 0x6d, 0x31, 0x15, 0x30, 0x13, 0x06, 0x0a,
    0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64,
    0x01, 0x19, 0x16, 0x05, 0x61, 0x70, 0x70, 0x6c,
    0x65, 0x31, 0x17, 0x30, 0x15, 0x06, 0x0a, 0x09,
    0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01,
    0x19, 0x16, 0x07, 0x63, 0x61, 0x6c, 0x6c, 0x69,
    0x65, 0x39, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03,
    0x55, 0x04, 0x03, 0x13, 0x07, 0x63, 0x61, 0x6c,
    0x6c, 0x69, 0x65, 0x39, 0x30, 0x1e, 0x17, 0x0d,
    0x30, 0x34, 0x30, 0x32, 0x32, 0x34, 0x31, 0x39,
    0x31, 0x35, 0x35, 0x37, 0x5a, 0x17, 0x0d, 0x30,
    0x39, 0x30, 0x32, 0x32, 0x34, 0x31, 0x39, 0x32,
    0x35, 0x30, 0x31, 0x5a, 0x30, 0x57, 0x31, 0x13,
    0x30, 0x11, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89,
    0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x03,
    0x63, 0x6f, 0x6d, 0x31, 0x15, 0x30, 0x13, 0x06,
    0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c,
    0x64, 0x01, 0x19, 0x16, 0x05, 0x61, 0x70, 0x70,
    0x6c, 0x65, 0x31, 0x17, 0x30, 0x15, 0x06, 0x0a,
    0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64,
    0x01, 0x19, 0x16, 0x07, 0x63, 0x61, 0x6c, 0x6c,
    0x69, 0x65, 0x39, 0x31, 0x10, 0x30, 0x0e, 0x06,
    0x03, 0x55, 0x04, 0x03, 0x13, 0x07, 0x63, 0x61,
    0x6c, 0x6c, 0x69, 0x65, 0x39, 0x30, 0x82, 0x01,
    0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48,
    0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
    0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01,
    0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0x9d, 0xbf,
    0x50, 0x9c, 0x42, 0xea, 0xad, 0xfa, 0xb7, 0x3e,
    0x22, 0xcf, 0xc5, 0xba, 0xd3, 0x3a, 0xe8, 0x62,
    0xb5, 0x62, 0x3d, 0x1e, 0xcf, 0xec, 0x52, 0x48,
    0x51, 0xa0, 0xef, 0x20, 0xf2, 0x7b, 0xb2, 0x57,
    0x25, 0x86, 0xd7, 0x15, 0xd8, 0xc6, 0x1a, 0x5f,
    0x95, 0xe0, 0x35, 0x97, 0x23, 0x7c, 0xc6, 0x88,
    0x11, 0x1c, 0x8d, 0x8d, 0x7d, 0xf0, 0xc0, 0xbd,
    0x71, 0x49, 0xbd, 0x9e, 0x51, 0x02, 0x3c, 0x70,
    0xd7, 0xaa, 0xd2, 0x80, 0xb4, 0xda, 0xb0, 0x3b,
    0x42, 0x16, 0x50, 0xc6, 0x1b, 0x17, 0x29, 0xd6,
    0xbe, 0x40, 0xce, 0x3c, 0x54, 0xaf, 0xf5, 0x29,
    0xc6, 0x12, 0x47, 0xc4, 0x96, 0x85, 0x46, 0xaa,
    0xf1, 0x76, 0xd1, 0x76, 0x22, 0xd3, 0x45, 0xf7,
    0x71, 0xea, 0x4b, 0x42, 0x7b, 0x97, 0x39, 0x02,
    0x2c, 0x6d, 0x36, 0x2a, 0x80, 0xaa, 0x01, 0x58,
    0xbc, 0x52, 0xa2, 0xa4, 0xc4, 0x3c, 0xe8, 0xcd,
    0xb2, 0xb8, 0x4a, 0xd3, 0x4e, 0x06, 0xcc, 0x52,
    0x0f, 0x5e, 0xd2, 0xe9, 0xe9, 0xb8, 0xe6, 0x79,
    0xe3, 0x91, 0x24, 0x72, 0x44, 0x65, 0x3c, 0xfe,
    0x01, 0x69, 0x70, 0x0a, 0xce, 0xd1, 0x9a, 0xd1,
    0x3f, 0x77, 0xa6, 0x78, 0x04, 0x9b, 0x7b, 0x14,
    0x37, 0x71, 0x3d, 0x4b, 0x56, 0xe9, 0xc3, 0xf6,
    0x58, 0x16, 0x0c, 0x10, 0x86, 0x5b, 0xbd, 0x93,
    0xc0, 0xf5, 0xb8, 0xbb, 0x78, 0xcf, 0xf3, 0xb2,
    0xaa, 0xaf, 0xc4, 0x0c, 0x66, 0x13, 0x1d, 0xce,
    0x98, 0x4e, 0x99, 0x93, 0xb6, 0xf7, 0xe0, 0x73,
    0xb6, 0x74, 0x55, 0xcf, 0x83, 0x1d, 0x8d, 0x68,
    0xcf, 0x59, 0x5e, 0x1b, 0x3e, 0xb5, 0x5a, 0x71,
    0x36, 0x07, 0xb6, 0xfa, 0xc4, 0x6f, 0xe5, 0x7b,
    0x69, 0x09, 0xe7, 0xe5, 0xce, 0x8a, 0x1c, 0xfa,
    0x5c, 0xdc, 0x5d, 0x18, 0xf4, 0x5a, 0x5b, 0x0d,
    0x37, 0x44, 0x56, 0x9e, 0xe9, 0x95, 0x02, 0x03,
    0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x73, 0x30,
    0x82, 0x01, 0x6f, 0x30, 0x0b, 0x06, 0x03, 0x55,
    0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86,
    0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01,
    0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01,
    0xff, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e,
    0x04, 0x16, 0x04, 0x14, 0x6c, 0xde, 0x50, 0x56,
    0x01, 0x34, 0xdc, 0x26, 0xec, 0x85, 0xdf, 0xf7,
    0x32, 0x67, 0x68, 0x08, 0x04, 0xa0, 0xa8, 0xcd,
    0x30, 0x82, 0x01, 0x1c, 0x06, 0x03, 0x55, 0x1d,
    0x1f, 0x04, 0x82, 0x01, 0x13, 0x30, 0x82, 0x01,
    0x0f, 0x30, 0x82, 0x01, 0x0b, 0xa0, 0x82, 0x01,
    0x07, 0xa0, 0x82, 0x01, 0x03, 0x86, 0x81, 0xbf,
    0x6c, 0x64, 0x61, 0x70, 0x3a, 0x2f, 0x2f, 0x2f,
    0x43, 0x4e, 0x3d, 0x63, 0x61, 0x6c, 0x6c, 0x69,
    0x65, 0x39, 0x2c, 0x43, 0x4e, 0x3d, 0x63, 0x68,
    0x72, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x2d, 0x6d,
    0x74, 0x33, 0x71, 0x66, 0x6f, 0x2c, 0x43, 0x4e,
    0x3d, 0x43, 0x44, 0x50, 0x2c, 0x43, 0x4e, 0x3d,
    0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x25, 0x32,
    0x30, 0x4b, 0x65, 0x79, 0x25, 0x32, 0x30, 0x53,
    0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c,
    0x43, 0x4e, 0x3d, 0x53, 0x65, 0x72, 0x76, 0x69,
    0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x43,
    0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61,
    0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x44, 0x43, 0x3d,
    0x63, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x39, 0x2c,
    0x44, 0x43, 0x3d, 0x61, 0x70, 0x70, 0x6c, 0x65,
    0x2c, 0x44, 0x43, 0x3d, 0x63, 0x6f, 0x6d, 0x3f,
    0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
    0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x63,
    0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73,
    0x74, 0x3f, 0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f,
    0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61,
    0x73, 0x73, 0x3d, 0x63, 0x52, 0x4c, 0x44, 0x69,
    0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69,
    0x6f, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x86,
    0x3f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,
    0x63, 0x68, 0x72, 0x69, 0x73, 0x74, 0x6f, 0x70,
    0x2d, 0x6d, 0x74, 0x33, 0x71, 0x66, 0x6f, 0x2e,
    0x63, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x39, 0x2e,
    0x61, 0x70, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f,
    0x6d, 0x2f, 0x43, 0x65, 0x72, 0x74, 0x45, 0x6e,
    0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x63, 0x61, 0x6c,
    0x6c, 0x69, 0x65, 0x39, 0x2e, 0x63, 0x72, 0x6c,
    0x30, 0x10, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04,
    0x01, 0x82, 0x37, 0x15, 0x01, 0x04, 0x03, 0x02,
    0x01, 0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
    0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05,
    0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x9d, 0xba,
    0x9a, 0xeb, 0x1d, 0x78, 0x99, 0x93, 0xc6, 0x2c,
    0x36, 0x16, 0xa0, 0x15, 0x18, 0xe8, 0x20, 0x2e,
    0xb2, 0x0a, 0x8c, 0x02, 0x2e, 0x69, 0xe3, 0x9c,
    0x03, 0x26, 0x56, 0x41, 0xdd, 0x5a, 0xe1, 0x49,
    0x38, 0x5d, 0xf8, 0x1d, 0x09, 0x57, 0x22, 0xad,
    0xd9, 0xf4, 0x47, 0xa4, 0x0a, 0x46, 0xd7, 0x13,
    0xda, 0x08, 0xa1, 0x2c, 0xff, 0xb3, 0xbd, 0x07,
    0xfa, 0x95, 0x98, 0x0f, 0x53, 0x40, 0x79, 0xb2,
    0xf7, 0x85, 0x67, 0xf6, 0x37, 0x7f, 0xec, 0x21,
    0xf6, 0xb4, 0x6c, 0xda, 0x93, 0x03, 0x32, 0x74,
    0x5a, 0xa8, 0x81, 0x86, 0x10, 0xb7, 0x55, 0x11,
    0xe7, 0x53, 0xc3, 0x0a, 0x7e, 0x47, 0xba, 0xf5,
    0x8a, 0xaa, 0xab, 0x02, 0xc2, 0x01, 0xd6, 0x5b,
    0xb2, 0x96, 0xa9, 0x04, 0xda, 0xc2, 0x83, 0xb5,
    0x09, 0x54, 0x69, 0x67, 0xd2, 0x3a, 0x13, 0x6a,
    0x6c, 0xce, 0xc0, 0x64, 0x92, 0xb5, 0xda, 0x48,
    0x1c, 0x07, 0x15, 0xfb, 0xdd, 0x5f, 0xb6, 0x66,
    0x4c, 0x89, 0x44, 0xa0, 0x5c, 0x22, 0x41, 0x3d,
    0x5f, 0x21, 0x97, 0xa9, 0x0f, 0x58, 0xe9, 0xf8,
    0x16, 0x5e, 0xd9, 0x1e, 0x9d, 0x99, 0x0a, 0x9c,
    0xf3, 0x8b, 0x35, 0x3d, 0x0e, 0xc1, 0x10, 0x13,
    0x77, 0xcf, 0x4d, 0x4c, 0x85, 0xb4, 0x66, 0x27,
    0xa8, 0x79, 0x8f, 0xa4, 0x9f, 0x5f, 0x1f, 0xe9,
    0xe6, 0x39, 0xc0, 0xcf, 0x3d, 0x4a, 0x17, 0x3f,
    0x0b, 0xbf, 0x35, 0xe7, 0xe4, 0x47, 0x66, 0x4d,
    0x1e, 0xbc, 0x58, 0xf5, 0x62, 0xf8, 0x31, 0x02,
    0x84, 0xfb, 0x52, 0x39, 0x26, 0x92, 0xc3, 0xff,
    0x2a, 0x0a, 0x8e, 0x76, 0x66, 0xbc, 0x94, 0x38,
    0xe2, 0x28, 0x19, 0xcd, 0x40, 0xde, 0x88, 0xdd,
    0xfe, 0xf1, 0xdd, 0x62, 0xf4, 0xb5, 0x58, 0xf6,
    0x30, 0x22, 0xc3, 0x94, 0xed, 0xd2, 0x0a, 0x9a,
    0x71, 0x14, 0xd4, 0xed, 0x70, 0x94, 0x31, 0x00
};

static unsigned char mobileconfig_with_long_issuer[] = {
  0x30, 0x82, 0x0e, 0x6a, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
  0x01, 0x07, 0x02, 0xa0, 0x82, 0x0e, 0x5b, 0x30, 0x82, 0x0e, 0x57, 0x02,
  0x01, 0x01, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02,
  0x1a, 0x05, 0x00, 0x30, 0x82, 0x05, 0x68, 0x06, 0x09, 0x2a, 0x86, 0x48,
  0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x05, 0x59, 0x04, 0x82,
  0x05, 0x55, 0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73,
  0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e,
  0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x55, 0x54, 0x46, 0x2d,
  0x38, 0x22, 0x3f, 0x3e, 0x0a, 0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59,
  0x50, 0x45, 0x20, 0x70, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x50, 0x55, 0x42,
  0x4c, 0x49, 0x43, 0x20, 0x22, 0x2d, 0x2f, 0x2f, 0x41, 0x70, 0x70, 0x6c,
  0x65, 0x2f, 0x2f, 0x44, 0x54, 0x44, 0x20, 0x50, 0x4c, 0x49, 0x53, 0x54,
  0x20, 0x31, 0x2e, 0x30, 0x2f, 0x2f, 0x45, 0x4e, 0x22, 0x20, 0x22, 0x68,
  0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x61, 0x70,
  0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x54, 0x44, 0x73,
  0x2f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4c, 0x69, 0x73,
  0x74, 0x2d, 0x31, 0x2e, 0x30, 0x2e, 0x64, 0x74, 0x64, 0x22, 0x3e, 0x0a,
  0x3c, 0x70, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69,
  0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x3e, 0x0a, 0x3c, 0x64,
  0x69, 0x63, 0x74, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x50,
  0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
  0x74, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x61, 0x72,
  0x72, 0x61, 0x79, 0x3e, 0x0a, 0x09, 0x09, 0x3c, 0x64, 0x69, 0x63, 0x74,
  0x3e, 0x0a, 0x09, 0x09, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x50, 0x61,
  0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
  0x74, 0x69, 0x6f, 0x6e, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09,
  0x09, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x43, 0x6f,
  0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x73, 0x20, 0x73, 0x65, 0x63,
  0x75, 0x72, 0x69, 0x74, 0x79, 0x2d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65,
  0x64, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2e, 0x3c, 0x2f, 0x73, 0x74,
  0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x09, 0x09, 0x3c, 0x6b, 0x65,
  0x79, 0x3e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x69, 0x73,
  0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x3c, 0x2f, 0x6b, 0x65,
  0x79, 0x3e, 0x0a, 0x09, 0x09, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e,
  0x67, 0x3e, 0x50, 0x61, 0x73, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x50,
  0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e,
  0x67, 0x3e, 0x0a, 0x09, 0x09, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x50,
  0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
  0x66, 0x69, 0x65, 0x72, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09,
  0x09, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x63, 0x6f,
  0x6d, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2e, 0x70, 0x69, 0x6d, 0x70,
  0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x73, 0x69, 0x6d,
  0x70, 0x6c, 0x65, 0x2e, 0x34, 0x64, 0x69, 0x67, 0x69, 0x74, 0x73, 0x2e,
  0x70, 0x61, 0x73, 0x73, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x6f, 0x6c, 0x69,
  0x63, 0x79, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a,
  0x09, 0x09, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x50, 0x61, 0x79, 0x6c,
  0x6f, 0x61, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74,
  0x69, 0x6f, 0x6e, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x09,
  0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x73, 0x61, 0x66,
  0x73, 0x64, 0x66, 0x61, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
  0x3e, 0x0a, 0x09, 0x09, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x50, 0x61,
  0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, 0x3c, 0x2f, 0x6b,
  0x65, 0x79, 0x3e, 0x0a, 0x09, 0x09, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69,
  0x6e, 0x67, 0x3e, 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x65,
  0x2e, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x64, 0x65, 0x76, 0x69, 0x63,
  0x65, 0x2e, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x70, 0x6f,
  0x6c, 0x69, 0x63, 0x79, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
  0x3e, 0x0a, 0x09, 0x09, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x50, 0x61,
  0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x55, 0x49, 0x44, 0x3c, 0x2f, 0x6b,
  0x65, 0x79, 0x3e, 0x0a, 0x09, 0x09, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69,
  0x6e, 0x67, 0x3e, 0x45, 0x37, 0x45, 0x34, 0x33, 0x46, 0x38, 0x34, 0x2d,
  0x30, 0x31, 0x39, 0x35, 0x2d, 0x34, 0x41, 0x37, 0x46, 0x2d, 0x42, 0x30,
  0x39, 0x46, 0x2d, 0x32, 0x34, 0x46, 0x42, 0x39, 0x39, 0x42, 0x30, 0x33,
  0x46, 0x41, 0x35, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e,
  0x0a, 0x09, 0x09, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x50, 0x61, 0x79,
  0x6c, 0x6f, 0x61, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3c,
  0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x09, 0x09, 0x3c, 0x69, 0x6e,
  0x74, 0x65, 0x67, 0x65, 0x72, 0x3e, 0x31, 0x3c, 0x2f, 0x69, 0x6e, 0x74,
  0x65, 0x67, 0x65, 0x72, 0x3e, 0x0a, 0x09, 0x09, 0x09, 0x3c, 0x6b, 0x65,
  0x79, 0x3e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x69, 0x6d, 0x70, 0x6c,
  0x65, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x09, 0x09, 0x3c,
  0x74, 0x72, 0x75, 0x65, 0x2f, 0x3e, 0x0a, 0x09, 0x09, 0x09, 0x3c, 0x6b,
  0x65, 0x79, 0x3e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x49, 0x4e, 0x3c,
  0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x09, 0x09, 0x3c, 0x74, 0x72,
  0x75, 0x65, 0x2f, 0x3e, 0x0a, 0x09, 0x09, 0x09, 0x3c, 0x6b, 0x65, 0x79,
  0x3e, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x3c, 0x2f,
  0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x09, 0x09, 0x3c, 0x72, 0x65, 0x61,
  0x6c, 0x3e, 0x34, 0x3c, 0x2f, 0x72, 0x65, 0x61, 0x6c, 0x3e, 0x0a, 0x09,
  0x09, 0x3c, 0x2f, 0x64, 0x69, 0x63, 0x74, 0x3e, 0x0a, 0x09, 0x3c, 0x2f,
  0x61, 0x72, 0x72, 0x61, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79,
  0x3e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x73, 0x63,
  0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3c, 0x2f, 0x6b, 0x65, 0x79,
  0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x50,
  0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72,
  0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x3c, 0x2f, 0x73, 0x74, 0x72,
  0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x50,
  0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61,
  0x79, 0x4e, 0x61, 0x6d, 0x65, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a,
  0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x34, 0x64, 0x69,
  0x67, 0x69, 0x74, 0x73, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
  0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x50, 0x61, 0x79, 0x6c,
  0x6f, 0x61, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65,
  0x72, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74,
  0x72, 0x69, 0x6e, 0x67, 0x3e, 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x70, 0x70,
  0x6c, 0x65, 0x2e, 0x70, 0x69, 0x6d, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74,
  0x69, 0x6e, 0x67, 0x2e, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x34,
  0x64, 0x69, 0x67, 0x69, 0x74, 0x73, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69,
  0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x50, 0x61,
  0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a,
  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a,
  0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x73, 0x61, 0x66,
  0x73, 0x64, 0x66, 0x61, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
  0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x50, 0x61, 0x79, 0x6c,
  0x6f, 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, 0x3c, 0x2f, 0x6b, 0x65, 0x79,
  0x3e, 0x0a, 0x09, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x43,
  0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  0x3c, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c,
  0x6b, 0x65, 0x79, 0x3e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55,
  0x55, 0x49, 0x44, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c,
  0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x43, 0x32, 0x46, 0x30, 0x37,
  0x46, 0x38, 0x33, 0x2d, 0x43, 0x30, 0x35, 0x43, 0x2d, 0x34, 0x45, 0x32,
  0x43, 0x2d, 0x38, 0x37, 0x31, 0x36, 0x2d, 0x36, 0x34, 0x46, 0x41, 0x33,
  0x33, 0x42, 0x38, 0x46, 0x42, 0x34, 0x46, 0x3c, 0x2f, 0x73, 0x74, 0x72,
  0x69, 0x6e, 0x67, 0x3e, 0x0a, 0x09, 0x3c, 0x6b, 0x65, 0x79, 0x3e, 0x50,
  0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
  0x6e, 0x3c, 0x2f, 0x6b, 0x65, 0x79, 0x3e, 0x0a, 0x09, 0x3c, 0x69, 0x6e,
  0x74, 0x65, 0x67, 0x65, 0x72, 0x3e, 0x31, 0x3c, 0x2f, 0x69, 0x6e, 0x74,
  0x65, 0x67, 0x65, 0x72, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x63, 0x74,
  0x3e, 0x0a, 0x3c, 0x2f, 0x70, 0x6c, 0x69, 0x73, 0x74, 0x3e, 0x0a, 0xa0,
  0x82, 0x06, 0x5c, 0x30, 0x82, 0x06, 0x58, 0x30, 0x82, 0x05, 0xc1, 0xa0,
  0x03, 0x02, 0x01, 0x02, 0x02, 0x03, 0x00, 0xda, 0x16, 0x30, 0x0d, 0x06,
  0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00,
  0x30, 0x82, 0x01, 0x12, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04,
  0x06, 0x13, 0x02, 0x45, 0x53, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55,
  0x04, 0x08, 0x13, 0x09, 0x42, 0x61, 0x72, 0x63, 0x65, 0x6c, 0x6f, 0x6e,
  0x61, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x09,
  0x42, 0x61, 0x72, 0x63, 0x65, 0x6c, 0x6f, 0x6e, 0x61, 0x31, 0x29, 0x30,
  0x27, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x20, 0x49, 0x50, 0x53, 0x20,
  0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
  0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20,
  0x73, 0x2e, 0x6c, 0x2e, 0x31, 0x2e, 0x30, 0x2c, 0x06, 0x03, 0x55, 0x04,
  0x0a, 0x14, 0x25, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x40, 0x69,
  0x70, 0x73, 0x63, 0x61, 0x2e, 0x63, 0x6f, 0x6d, 0x20, 0x43, 0x2e, 0x49,
  0x2e, 0x46, 0x2e, 0x20, 0x20, 0x42, 0x2d, 0x42, 0x36, 0x32, 0x32, 0x31,
  0x30, 0x36, 0x39, 0x35, 0x31, 0x2e, 0x30, 0x2c, 0x06, 0x03, 0x55, 0x04,
  0x0b, 0x13, 0x25, 0x69, 0x70, 0x73, 0x43, 0x41, 0x20, 0x43, 0x4c, 0x41,
  0x53, 0x45, 0x41, 0x31, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
  0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f,
  0x72, 0x69, 0x74, 0x79, 0x31, 0x2e, 0x30, 0x2c, 0x06, 0x03, 0x55, 0x04,
  0x03, 0x13, 0x25, 0x69, 0x70, 0x73, 0x43, 0x41, 0x20, 0x43, 0x4c, 0x41,
  0x53, 0x45, 0x41, 0x31, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
  0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f,
  0x72, 0x69, 0x74, 0x79, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x09, 0x2a, 0x86,
  0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x16, 0x11, 0x67, 0x65, 0x6e,
  0x65, 0x72, 0x61, 0x6c, 0x40, 0x69, 0x70, 0x73, 0x63, 0x61, 0x2e, 0x63,
  0x6f, 0x6d, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x38, 0x30, 0x38, 0x31, 0x32,
  0x30, 0x36, 0x32, 0x35, 0x32, 0x32, 0x5a, 0x17, 0x0d, 0x31, 0x30, 0x30,
  0x38, 0x31, 0x32, 0x30, 0x36, 0x32, 0x35, 0x32, 0x32, 0x5a, 0x30, 0x81,
  0x97, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
  0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13,
  0x0a, 0x43, 0x61, 0x6c, 0x69, 0x66, 0x6f, 0x72, 0x6e, 0x69, 0x61, 0x31,
  0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0a, 0x53, 0x61,
  0x6e, 0x74, 0x61, 0x20, 0x43, 0x72, 0x75, 0x7a, 0x31, 0x0d, 0x30, 0x0b,
  0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x04, 0x55, 0x43, 0x53, 0x43, 0x31,
  0x0c, 0x30, 0x0a, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x03, 0x49, 0x54,
  0x53, 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x18,
  0x61, 0x70, 0x70, 0x6c, 0x65, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x74,
  0x65, 0x73, 0x74, 0x2e, 0x75, 0x63, 0x73, 0x63, 0x2e, 0x65, 0x64, 0x75,
  0x31, 0x1e, 0x30, 0x1c, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
  0x01, 0x09, 0x01, 0x16, 0x0f, 0x6e, 0x65, 0x74, 0x6f, 0x70, 0x73, 0x40,
  0x75, 0x63, 0x73, 0x63, 0x2e, 0x65, 0x64, 0x75, 0x30, 0x81, 0x9f, 0x30,
  0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
  0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81,
  0x00, 0xcd, 0x2d, 0x36, 0x7c, 0xc6, 0x45, 0x6a, 0x4b, 0x86, 0x39, 0xfb,
  0xa4, 0xae, 0xc0, 0x48, 0x4c, 0x0f, 0x50, 0xb3, 0xa5, 0x60, 0x5b, 0xbd,
  0xe1, 0xcf, 0xac, 0x1f, 0xab, 0x06, 0xb3, 0x46, 0x52, 0x75, 0x96, 0x54,
  0xc5, 0xbb, 0x69, 0x1f, 0x23, 0x6f, 0x69, 0xb1, 0x49, 0x37, 0x3f, 0x32,
  0xf6, 0xea, 0x27, 0xe2, 0xbc, 0x38, 0x21, 0x37, 0x2b, 0x9b, 0x02, 0x4c,
  0xd2, 0x6e, 0x9c, 0x20, 0x37, 0x21, 0xfc, 0x0f, 0x78, 0x59, 0xac, 0x0f,
  0x21, 0x35, 0xa0, 0x93, 0x5d, 0xf8, 0x07, 0x6c, 0x8d, 0x38, 0x07, 0xb6,
  0x4f, 0x2d, 0xbf, 0x42, 0x6e, 0xe9, 0xb5, 0xc7, 0xe9, 0x55, 0xbf, 0xb8,
  0x81, 0xf5, 0x43, 0x65, 0x02, 0x33, 0xca, 0x86, 0x48, 0xf2, 0xd8, 0xbb,
  0x29, 0x6e, 0x0e, 0x9d, 0x88, 0x41, 0x82, 0x95, 0x2c, 0x3b, 0x18, 0xc6,
  0xf4, 0x04, 0xe2, 0x84, 0x60, 0x9e, 0x32, 0xae, 0x43, 0x02, 0x03, 0x01,
  0x00, 0x01, 0xa3, 0x82, 0x03, 0x32, 0x30, 0x82, 0x03, 0x2e, 0x30, 0x09,
  0x06, 0x03, 0x55, 0x1d, 0x13, 0x04, 0x02, 0x30, 0x00, 0x30, 0x11, 0x06,
  0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42, 0x01, 0x01, 0x04, 0x04,
  0x03, 0x02, 0x06, 0x40, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04,
  0x04, 0x03, 0x02, 0x03, 0xf8, 0x30, 0x13, 0x06, 0x03, 0x55, 0x1d, 0x25,
  0x04, 0x0c, 0x30, 0x0a, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07,
  0x03, 0x01, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04,
  0x14, 0xdc, 0x34, 0x6b, 0x6a, 0xcb, 0x0c, 0xeb, 0x53, 0xb2, 0xeb, 0x49,
  0xca, 0xe3, 0xf4, 0x8b, 0x44, 0x7e, 0x33, 0xae, 0x51, 0x30, 0x1f, 0x06,
  0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x0e, 0x07,
  0x60, 0xd4, 0x39, 0xc9, 0x1b, 0x5b, 0x5d, 0x90, 0x7b, 0x23, 0xc8, 0xd2,
  0x34, 0x9d, 0x4a, 0x9a, 0x46, 0x39, 0x30, 0x1a, 0x06, 0x03, 0x55, 0x1d,
  0x11, 0x04, 0x13, 0x30, 0x11, 0x81, 0x0f, 0x6e, 0x65, 0x74, 0x6f, 0x70,
  0x73, 0x40, 0x75, 0x63, 0x73, 0x63, 0x2e, 0x65, 0x64, 0x75, 0x30, 0x1c,
  0x06, 0x03, 0x55, 0x1d, 0x12, 0x04, 0x15, 0x30, 0x13, 0x81, 0x11, 0x67,
  0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x40, 0x69, 0x70, 0x73, 0x63, 0x61,
  0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x72, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01,
  0x86, 0xf8, 0x42, 0x01, 0x0d, 0x04, 0x65, 0x16, 0x63, 0x4f, 0x72, 0x67,
  0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x49, 0x6e,
  0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x4e, 0x4f,
  0x54, 0x20, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x45, 0x44, 0x2e,
  0x20, 0x43, 0x4c, 0x41, 0x53, 0x45, 0x41, 0x31, 0x20, 0x53, 0x65, 0x72,
  0x76, 0x65, 0x72, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
  0x61, 0x74, 0x65, 0x20, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x20, 0x62,
  0x79, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77,
  0x77, 0x2e, 0x69, 0x70, 0x73, 0x63, 0x61, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  0x30, 0x2f, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42, 0x01,
  0x02, 0x04, 0x22, 0x16, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f,
  0x2f, 0x77, 0x77, 0x77, 0x2e, 0x69, 0x70, 0x73, 0x63, 0x61, 0x2e, 0x63,
  0x6f, 0x6d, 0x2f, 0x69, 0x70, 0x73, 0x63, 0x61, 0x32, 0x30, 0x30, 0x32,
  0x2f, 0x30, 0x43, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42,
  0x01, 0x04, 0x04, 0x36, 0x16, 0x34, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a,
  0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x69, 0x70, 0x73, 0x63, 0x61, 0x2e,
  0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x70, 0x73, 0x63, 0x61, 0x32, 0x30, 0x30,
  0x32, 0x2f, 0x69, 0x70, 0x73, 0x63, 0x61, 0x32, 0x30, 0x30, 0x32, 0x43,
  0x4c, 0x41, 0x53, 0x45, 0x41, 0x31, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x46,
  0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42, 0x01, 0x03, 0x04,
  0x39, 0x16, 0x37, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,
  0x77, 0x77, 0x2e, 0x69, 0x70, 0x73, 0x63, 0x61, 0x2e, 0x63, 0x6f, 0x6d,
  0x2f, 0x69, 0x70, 0x73, 0x63, 0x61, 0x32, 0x30, 0x30, 0x32, 0x2f, 0x72,
  0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x4c, 0x41,
  0x53, 0x45, 0x41, 0x31, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x3f, 0x30, 0x43,
  0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42, 0x01, 0x07, 0x04,
  0x36, 0x16, 0x34, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,
  0x77, 0x77, 0x2e, 0x69, 0x70, 0x73, 0x63, 0x61, 0x2e, 0x63, 0x6f, 0x6d,
  0x2f, 0x69, 0x70, 0x73, 0x63, 0x61, 0x32, 0x30, 0x30, 0x32, 0x2f, 0x72,
  0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x43, 0x4c, 0x41, 0x53, 0x45, 0x41,
  0x31, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x3f, 0x30, 0x41, 0x06, 0x09, 0x60,
  0x86, 0x48, 0x01, 0x86, 0xf8, 0x42, 0x01, 0x08, 0x04, 0x34, 0x16, 0x32,
  0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e,
  0x69, 0x70, 0x73, 0x63, 0x61, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x70,
  0x73, 0x63, 0x61, 0x32, 0x30, 0x30, 0x32, 0x2f, 0x70, 0x6f, 0x6c, 0x69,
  0x63, 0x79, 0x43, 0x4c, 0x41, 0x53, 0x45, 0x41, 0x31, 0x2e, 0x68, 0x74,
  0x6d, 0x6c, 0x30, 0x81, 0x83, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x7c,
  0x30, 0x7a, 0x30, 0x39, 0xa0, 0x37, 0xa0, 0x35, 0x86, 0x33, 0x68, 0x74,
  0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x69, 0x70, 0x73,
  0x63, 0x61, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x70, 0x73, 0x63, 0x61,
  0x32, 0x30, 0x30, 0x32, 0x2f, 0x69, 0x70, 0x73, 0x63, 0x61, 0x32, 0x30,
  0x30, 0x32, 0x43, 0x4c, 0x41, 0x53, 0x45, 0x41, 0x31, 0x2e, 0x63, 0x72,
  0x6c, 0x30, 0x3d, 0xa0, 0x3b, 0xa0, 0x39, 0x86, 0x37, 0x68, 0x74, 0x74,
  0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x62, 0x61, 0x63, 0x6b, 0x2e,
  0x69, 0x70, 0x73, 0x63, 0x61, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x70,
  0x73, 0x63, 0x61, 0x32, 0x30, 0x30, 0x32, 0x2f, 0x69, 0x70, 0x73, 0x63,
  0x61, 0x32, 0x30, 0x30, 0x32, 0x43, 0x4c, 0x41, 0x53, 0x45, 0x41, 0x31,
  0x2e, 0x63, 0x72, 0x6c, 0x30, 0x32, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05,
  0x05, 0x07, 0x01, 0x01, 0x04, 0x26, 0x30, 0x24, 0x30, 0x22, 0x06, 0x08,
  0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x16, 0x68, 0x74,
  0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x69, 0x70,
  0x73, 0x63, 0x61, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x30, 0x0d, 0x06, 0x09,
  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03,
  0x81, 0x81, 0x00, 0x80, 0x25, 0xd5, 0x3d, 0x12, 0x08, 0x27, 0x54, 0xc0,
  0x57, 0x72, 0xcc, 0xa7, 0x08, 0xf8, 0xc5, 0x3f, 0x0c, 0xdd, 0x27, 0xdd,
  0xb3, 0xf7, 0xcd, 0x78, 0xc4, 0xc8, 0x7c, 0xad, 0x9c, 0x15, 0xe5, 0x36,
  0xa1, 0x69, 0xf8, 0x46, 0xe6, 0x71, 0x4c, 0x02, 0xe9, 0xad, 0xc2, 0x0b,
  0xe1, 0x45, 0xf3, 0x86, 0x9f, 0x9a, 0x57, 0x99, 0x06, 0x4f, 0x4f, 0xeb,
  0x2c, 0x33, 0xa0, 0x82, 0xa5, 0x66, 0x8e, 0xd6, 0x46, 0x61, 0x64, 0xac,
  0x25, 0x8c, 0x9b, 0x70, 0x28, 0x8f, 0x81, 0xfa, 0x4f, 0x37, 0xc4, 0x8a,
  0xa1, 0xd8, 0x79, 0x8e, 0x4c, 0x1a, 0x2f, 0x2e, 0x84, 0x1b, 0x6e, 0x85,
  0xc1, 0xc6, 0x56, 0xda, 0xd4, 0xa3, 0x40, 0x85, 0xf2, 0x31, 0x10, 0x1a,
  0x6d, 0x70, 0x5c, 0xf0, 0xd5, 0xdf, 0x71, 0x9d, 0x0e, 0xff, 0xf4, 0xb5,
  0xa3, 0x80, 0x38, 0x43, 0x5b, 0x88, 0x81, 0x08, 0xf5, 0xcc, 0xb3, 0x31,
  0x82, 0x02, 0x77, 0x30, 0x82, 0x02, 0x73, 0x02, 0x01, 0x01, 0x30, 0x82,
  0x01, 0x1b, 0x30, 0x82, 0x01, 0x12, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03,
  0x55, 0x04, 0x06, 0x13, 0x02, 0x45, 0x53, 0x31, 0x12, 0x30, 0x10, 0x06,
  0x03, 0x55, 0x04, 0x08, 0x13, 0x09, 0x42, 0x61, 0x72, 0x63, 0x65, 0x6c,
  0x6f, 0x6e, 0x61, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07,
  0x13, 0x09, 0x42, 0x61, 0x72, 0x63, 0x65, 0x6c, 0x6f, 0x6e, 0x61, 0x31,
  0x29, 0x30, 0x27, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x20, 0x49, 0x50,
  0x53, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
  0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74,
  0x79, 0x20, 0x73, 0x2e, 0x6c, 0x2e, 0x31, 0x2e, 0x30, 0x2c, 0x06, 0x03,
  0x55, 0x04, 0x0a, 0x14, 0x25, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c,
  0x40, 0x69, 0x70, 0x73, 0x63, 0x61, 0x2e, 0x63, 0x6f, 0x6d, 0x20, 0x43,
  0x2e, 0x49, 0x2e, 0x46, 0x2e, 0x20, 0x20, 0x42, 0x2d, 0x42, 0x36, 0x32,
  0x32, 0x31, 0x30, 0x36, 0x39, 0x35, 0x31, 0x2e, 0x30, 0x2c, 0x06, 0x03,
  0x55, 0x04, 0x0b, 0x13, 0x25, 0x69, 0x70, 0x73, 0x43, 0x41, 0x20, 0x43,
  0x4c, 0x41, 0x53, 0x45, 0x41, 0x31, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69,
  0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74,
  0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2e, 0x30, 0x2c, 0x06, 0x03,
  0x55, 0x04, 0x03, 0x13, 0x25, 0x69, 0x70, 0x73, 0x43, 0x41, 0x20, 0x43,
  0x4c, 0x41, 0x53, 0x45, 0x41, 0x31, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69,
  0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74,
  0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x09,
  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x16, 0x11, 0x67,
  0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x40, 0x69, 0x70, 0x73, 0x63, 0x61,
  0x2e, 0x63, 0x6f, 0x6d, 0x02, 0x03, 0x00, 0xda, 0x16, 0x30, 0x09, 0x06,
  0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0xa0, 0x81, 0xb1, 0x30,
  0x18, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x03,
  0x31, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07,
  0x01, 0x30, 0x1c, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
  0x09, 0x05, 0x31, 0x0f, 0x17, 0x0d, 0x30, 0x38, 0x30, 0x38, 0x32, 0x33,
  0x30, 0x31, 0x32, 0x34, 0x30, 0x37, 0x5a, 0x30, 0x23, 0x06, 0x09, 0x2a,
  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x04, 0x31, 0x16, 0x04, 0x14,
  0x71, 0xee, 0xac, 0x4e, 0xfd, 0x6d, 0x8c, 0x6c, 0xb9, 0x7c, 0xfe, 0x4e,
  0x7c, 0x70, 0x08, 0xe1, 0xc4, 0xd9, 0x1f, 0x07, 0x30, 0x52, 0x06, 0x09,
  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x0f, 0x31, 0x45, 0x30,
  0x43, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x03,
  0x07, 0x30, 0x0e, 0x06, 0x08, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x03,
  0x02, 0x02, 0x02, 0x00, 0x80, 0x30, 0x0d, 0x06, 0x08, 0x2a, 0x86, 0x48,
  0x86, 0xf7, 0x0d, 0x03, 0x02, 0x02, 0x01, 0x40, 0x30, 0x07, 0x06, 0x05,
  0x2b, 0x0e, 0x03, 0x02, 0x07, 0x30, 0x0d, 0x06, 0x08, 0x2a, 0x86, 0x48,
  0x86, 0xf7, 0x0d, 0x03, 0x02, 0x02, 0x01, 0x28, 0x30, 0x0d, 0x06, 0x09,
  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04,
  0x81, 0x80, 0x0f, 0x7e, 0xb2, 0x55, 0x9c, 0x10, 0x28, 0x35, 0x37, 0xb3,
  0x65, 0x04, 0x10, 0xe1, 0xb4, 0xe9, 0xa0, 0xa8, 0x8a, 0x9d, 0x44, 0xba,
  0x39, 0xae, 0x64, 0x9f, 0x2e, 0x64, 0x7e, 0x96, 0x07, 0xc1, 0xd1, 0x59,
  0x5c, 0xf1, 0x5d, 0x27, 0x63, 0x00, 0x9d, 0xed, 0x04, 0x41, 0xfc, 0x0d,
  0xc8, 0xeb, 0x2c, 0x5d, 0xa6, 0xec, 0xb0, 0xa5, 0x07, 0xf8, 0xb2, 0x28,
  0x1d, 0x42, 0xa3, 0xd3, 0xbf, 0xb2, 0x66, 0x4f, 0x71, 0x50, 0x70, 0xf7,
  0x60, 0xeb, 0xa4, 0xfc, 0xcb, 0x62, 0x82, 0x98, 0xb6, 0x63, 0x19, 0xca,
  0xb9, 0x35, 0xb0, 0x56, 0x5a, 0x11, 0x00, 0x81, 0xe8, 0xd1, 0xa2, 0x63,
  0xcb, 0x38, 0xb3, 0xbd, 0x65, 0xb6, 0xa2, 0x36, 0x9c, 0x54, 0xc2, 0x05,
  0xb0, 0x27, 0x2e, 0x57, 0x26, 0x0d, 0xb4, 0x8e, 0xb7, 0x9e, 0x3f, 0x89,
  0xc8, 0x98, 0x3d, 0x06, 0xe0, 0x7f, 0x3e, 0xed, 0x8e, 0xa3
};

static unsigned char openssl_generated_cms[] = {
  0x30, 0x82, 0x05, 0xcd, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
  0x01, 0x07, 0x02, 0xa0, 0x82, 0x05, 0xbe, 0x30, 0x82, 0x05, 0xba, 0x02,
  0x01, 0x01, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02,
  0x1a, 0x05, 0x00, 0x30, 0x1b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
  0x0d, 0x01, 0x07, 0x01, 0xa0, 0x0e, 0x04, 0x0c, 0x77, 0x68, 0x61, 0x74,
  0x65, 0x76, 0x65, 0x72, 0x20, 0x6d, 0x61, 0x6e, 0xa0, 0x82, 0x03, 0xa7,
  0x30, 0x82, 0x03, 0xa3, 0x30, 0x82, 0x02, 0x8b, 0xa0, 0x03, 0x02, 0x01,
  0x02, 0x02, 0x01, 0x2a, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
  0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x7e, 0x31, 0x0b, 0x30,
  0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13,
  0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, 0x70, 0x70,
  0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06,
  0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20,
  0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
  0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31,
  0x32, 0x30, 0x30, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x29, 0x41, 0x70,
  0x70, 0x6c, 0x65, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x42,
  0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72,
  0x69, 0x74, 0x79, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x38, 0x30, 0x32, 0x30,
  0x31, 0x30, 0x30, 0x35, 0x35, 0x35, 0x36, 0x5a, 0x17, 0x0d, 0x30, 0x38,
  0x30, 0x33, 0x30, 0x32, 0x30, 0x30, 0x35, 0x35, 0x35, 0x36, 0x5a, 0x30,
  0x74, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
  0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13,
  0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31,
  0x32, 0x30, 0x30, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x29, 0x41, 0x70,
  0x70, 0x6c, 0x65, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x42,
  0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72,
  0x69, 0x74, 0x79, 0x31, 0x1c, 0x30, 0x1a, 0x06, 0x03, 0x55, 0x04, 0x03,
  0x13, 0x13, 0x53, 0x35, 0x4c, 0x38, 0x39, 0x30, 0x30, 0x20, 0x53, 0x65,
  0x63, 0x75, 0x72, 0x65, 0x20, 0x42, 0x6f, 0x6f, 0x74, 0x30, 0x81, 0x9f,
  0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
  0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81,
  0x81, 0x00, 0xb2, 0x17, 0xb7, 0x7e, 0x97, 0x30, 0xa9, 0x54, 0x90, 0xc8,
  0x5e, 0x5d, 0x76, 0x5a, 0x88, 0xf1, 0x9a, 0x0b, 0x16, 0x5b, 0x45, 0x87,
  0xa0, 0x94, 0x71, 0xe1, 0x6a, 0x7a, 0xc1, 0x1a, 0x30, 0x57, 0xb0, 0xda,
  0x9e, 0x55, 0xbf, 0x2c, 0xdd, 0xc6, 0x99, 0x74, 0x4a, 0x41, 0x26, 0x95,
  0xd7, 0x71, 0x09, 0x82, 0x4a, 0xc6, 0x02, 0x0c, 0x10, 0xdc, 0x5f, 0x0a,
  0xa5, 0xe1, 0x47, 0x59, 0xfa, 0xad, 0x04, 0x49, 0xe3, 0x0f, 0xa6, 0x48,
  0xcb, 0xd5, 0x65, 0xa6, 0x53, 0x80, 0x03, 0xe6, 0x22, 0xc9, 0x8a, 0x26,
  0x0f, 0x4d, 0x13, 0x37, 0x41, 0x4b, 0x5c, 0x78, 0x0f, 0x2c, 0x65, 0xa7,
  0x96, 0xfa, 0x81, 0x7b, 0x02, 0xba, 0x3e, 0x9d, 0xbd, 0xe8, 0x70, 0x1b,
  0x76, 0xcc, 0x69, 0x13, 0x2f, 0x42, 0xea, 0x92, 0x64, 0xf8, 0xf6, 0xa7,
  0x17, 0xd7, 0xf6, 0x40, 0x43, 0x5e, 0x4c, 0x8e, 0xae, 0xe3, 0x02, 0x03,
  0x01, 0x00, 0x01, 0xa3, 0x81, 0xb9, 0x30, 0x81, 0xb6, 0x30, 0x0b, 0x06,
  0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x1d,
  0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xc5, 0x0e, 0x2c,
  0x3c, 0x02, 0x26, 0xe3, 0x4a, 0x4b, 0x51, 0x47, 0xab, 0x78, 0x4a, 0x6a,
  0xb3, 0x60, 0xd2, 0x13, 0x0c, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xc4, 0x7c, 0x23, 0x6e, 0x51, 0xbc,
  0xae, 0xd8, 0x36, 0x94, 0x68, 0x42, 0x30, 0x79, 0xb7, 0xa9, 0x2b, 0x9d,
  0x3b, 0xbc, 0x30, 0x67, 0x06, 0x0a, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x63,
  0x64, 0x06, 0x01, 0x01, 0x01, 0x01, 0xff, 0x04, 0x56, 0x04, 0x54, 0x33,
  0x67, 0x6d, 0x49, 0x54, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x74, 0x72, 0x65, 0x63, 0x4d, 0x4f, 0x44, 0x53, 0x10,
  0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x44,
  0x4f, 0x52, 0x50, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x50, 0x49, 0x48, 0x43, 0x10, 0x00, 0x00, 0x00, 0x04,
  0x00, 0x00, 0x00, 0x20, 0x87, 0x00, 0x00, 0x44, 0x52, 0x4f, 0x42, 0x10,
  0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
  0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05,
  0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x13, 0x94, 0x2a, 0x47, 0xee,
  0xaf, 0xa5, 0xd1, 0xf7, 0x39, 0x73, 0x6b, 0x01, 0xd7, 0xe8, 0x7f, 0x61,
  0xaf, 0x2a, 0x3e, 0x6a, 0xc9, 0x51, 0xd9, 0xb1, 0xe5, 0x1d, 0x0d, 0xe9,
  0x22, 0x4d, 0xcd, 0x9e, 0x87, 0x43, 0x7d, 0x02, 0x34, 0x42, 0x92, 0x8b,
  0xd7, 0x25, 0xc2, 0xee, 0xc2, 0xc4, 0xce, 0xbf, 0x6b, 0xa8, 0xf1, 0xe6,
  0x73, 0xaa, 0x94, 0x11, 0x31, 0xdc, 0xbf, 0xce, 0x54, 0x52, 0xd0, 0xed,
  0xbc, 0x89, 0x0e, 0x7d, 0x8a, 0xe9, 0xce, 0x2e, 0x9d, 0x9f, 0x27, 0xfa,
  0xf7, 0x43, 0xeb, 0x80, 0xd4, 0x06, 0xb3, 0x0c, 0x05, 0x73, 0x1b, 0xc3,
  0x1f, 0xc4, 0x19, 0x6d, 0xba, 0xac, 0x88, 0xd0, 0x15, 0x82, 0x22, 0x50,
  0xb7, 0x88, 0xcc, 0xfa, 0x56, 0x74, 0x65, 0x39, 0xb4, 0x9a, 0xb2, 0xdc,
  0x5c, 0x2b, 0x2b, 0x14, 0x26, 0xa6, 0xb7, 0xb8, 0x52, 0xb2, 0x46, 0x09,
  0x3d, 0x1c, 0xfd, 0x7a, 0x6e, 0x4a, 0x90, 0x23, 0xd1, 0x62, 0x20, 0x1f,
  0xff, 0x6c, 0xdb, 0xbd, 0xcf, 0x71, 0x85, 0x49, 0x54, 0x13, 0x3c, 0xdd,
  0x99, 0xf2, 0x22, 0xb5, 0x08, 0x30, 0xad, 0x92, 0xf3, 0xb0, 0x45, 0x01,
  0xfa, 0x98, 0x49, 0x44, 0x45, 0xa1, 0x9c, 0x0a, 0xd1, 0x65, 0x0a, 0xc0,
  0x29, 0x5b, 0x68, 0x34, 0x16, 0x3b, 0x7b, 0x15, 0xbe, 0xac, 0x8a, 0x99,
  0x0e, 0x1d, 0x3b, 0x9d, 0x16, 0x9a, 0xf5, 0x35, 0x25, 0xcc, 0xa5, 0xa9,
  0xb9, 0x84, 0x96, 0xc0, 0xf2, 0x7d, 0x72, 0x4f, 0x7a, 0x3b, 0x12, 0x66,
  0xfc, 0xf9, 0x02, 0x39, 0x39, 0xf2, 0x99, 0xae, 0xe7, 0xa1, 0x4b, 0x7a,
  0xcc, 0x23, 0x91, 0xec, 0x27, 0xbd, 0xfc, 0xf2, 0x6c, 0x06, 0xa7, 0xbd,
  0x1d, 0x40, 0xbf, 0xa5, 0xf9, 0x40, 0x4a, 0xf7, 0x4a, 0x1d, 0x3f, 0xa7,
  0x47, 0x4d, 0xa2, 0x2b, 0x53, 0x2b, 0x09, 0xe7, 0xdf, 0xa8, 0x39, 0x31,
  0x82, 0x01, 0xde, 0x30, 0x82, 0x01, 0xda, 0x02, 0x01, 0x01, 0x30, 0x81,
  0x83, 0x30, 0x7e, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06,
  0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
  0x0a, 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63,
  0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d,
  0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
  0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68,
  0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x32, 0x30, 0x30, 0x06, 0x03, 0x55,
  0x04, 0x03, 0x13, 0x29, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x53, 0x65,
  0x63, 0x75, 0x72, 0x65, 0x20, 0x42, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65,
  0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,
  0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x02, 0x01, 0x2a,
  0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0xa0,
  0x81, 0xb1, 0x30, 0x18, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
  0x01, 0x09, 0x03, 0x31, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
  0x0d, 0x01, 0x07, 0x01, 0x30, 0x1c, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
  0xf7, 0x0d, 0x01, 0x09, 0x05, 0x31, 0x0f, 0x17, 0x0d, 0x30, 0x38, 0x30,
  0x32, 0x31, 0x32, 0x32, 0x30, 0x33, 0x32, 0x33, 0x30, 0x5a, 0x30, 0x23,
  0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x04, 0x31,
  0x16, 0x04, 0x14, 0xd1, 0x59, 0x39, 0x09, 0xcb, 0x32, 0x40, 0x5c, 0xa6,
  0x1a, 0x86, 0xa2, 0x2d, 0xbc, 0x74, 0x72, 0xae, 0x2b, 0x92, 0x45, 0x30,
  0x52, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x0f,
  0x31, 0x45, 0x30, 0x43, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0x86,
  0xf7, 0x0d, 0x03, 0x07, 0x30, 0x0e, 0x06, 0x08, 0x2a, 0x86, 0x48, 0x86,
  0xf7, 0x0d, 0x03, 0x02, 0x02, 0x02, 0x00, 0x80, 0x30, 0x0d, 0x06, 0x08,
  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x03, 0x02, 0x02, 0x01, 0x40, 0x30,
  0x07, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x07, 0x30, 0x0d, 0x06, 0x08,
  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x03, 0x02, 0x02, 0x01, 0x28, 0x30,
  0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
  0x05, 0x00, 0x04, 0x81, 0x80, 0x71, 0x1d, 0xe4, 0xcf, 0xa6, 0xfe, 0x18,
  0x20, 0x9c, 0xa8, 0x9a, 0x80, 0x03, 0x19, 0x61, 0x75, 0x47, 0x74, 0xe7,
  0xcc, 0xe8, 0x6e, 0x4c, 0x75, 0xfe, 0x10, 0x3c, 0x11, 0xd7, 0x1d, 0x64,
  0xef, 0xff, 0xbc, 0x95, 0x1b, 0x7b, 0x75, 0xec, 0x53, 0x50, 0xc1, 0x84,
  0x53, 0xfd, 0x91, 0x1f, 0x55, 0x0e, 0x7b, 0x5b, 0x6e, 0x50, 0xe4, 0xad,
  0x86, 0xc0, 0x37, 0x6b, 0x09, 0x69, 0xb9, 0xd5, 0xef, 0xa7, 0xac, 0x43,
  0xc7, 0x1b, 0xf9, 0x87, 0x30, 0xf8, 0x0f, 0x1a, 0x55, 0xce, 0x8f, 0xb6,
  0xcd, 0x4e, 0x8e, 0xbb, 0xee, 0x66, 0x6f, 0xe9, 0xf8, 0xa9, 0xb2, 0x90,
  0x2c, 0x1f, 0xd3, 0x79, 0xfa, 0x17, 0x2f, 0xcd, 0xac, 0x04, 0x9c, 0x74,
  0x2a, 0xdf, 0x46, 0x09, 0xe3, 0x37, 0xe0, 0x71, 0xa2, 0x3c, 0x6f, 0x7e,
  0xd8, 0x0d, 0xd6, 0xcc, 0xfc, 0x69, 0x53, 0xa6, 0x1c, 0x37, 0x39, 0x9c,
  0xd1
};


static unsigned char _codedir_bytes[] = {
  0x00, 0x02, 0x00, 0x01,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x2c,
  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x3f, 0x60,
  0x14, 0x01, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x63, 0x6f, 0x6d, 0x2e,
  0x79, 0x6f, 0x75, 0x72, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x2e,
  0x57, 0x68, 0x69, 0x63, 0x68, 0x57, 0x61, 0x79, 0x49, 0x73, 0x55, 0x70,
  0x00, 0x99, 0xd8, 0xaf, 0x66, 0xa8, 0xb5, 0x8b, 0x53, 0x47, 0x52, 0xe5,
  0xb9, 0xab, 0x5f, 0x0c, 0xe6, 0x5b, 0x8c, 0x3f, 0xa1, 0x3a, 0x75, 0xf6,
  0xdb, 0x05, 0x85, 0x29, 0x14, 0x8e, 0x14, 0xdd, 0x7e, 0xa1, 0xb4, 0x72,
  0x9c, 0xc0, 0x9e, 0xc9, 0x73, 0x8e, 0x4e, 0xcc, 0x66, 0xa6, 0x77, 0x71,
  0x16, 0x0b, 0x09, 0xfb, 0x31, 0x79, 0x2a, 0xab, 0x0d, 0x5f, 0xf4, 0x08,
  0x03, 0xe8, 0x8e, 0x40, 0x22, 0x9e, 0x86, 0x08, 0x62, 0xbc, 0xf3, 0x6b,
  0x37, 0x88, 0x07, 0xd7, 0xb1, 0x20, 0xb6, 0x84, 0x1a, 0xbf, 0x0b, 0x96,
  0x42, 0x02, 0x8a, 0x4d, 0x73, 0xeb, 0x2d, 0x6a, 0xa7, 0x84, 0x01, 0xde,
  0xf3, 0x65, 0x0d, 0x75, 0x58, 0x5e, 0xde, 0x72, 0x8e, 0x5a, 0xf2, 0x8c,
  0x29, 0xa3, 0xe2, 0x24, 0xbc, 0x48, 0xb5, 0x27, 0x3e, 0x21, 0x6c, 0xee,
  0xe0, 0xd3, 0x73, 0x5b, 0xaa, 0x86, 0x71, 0x46, 0xa5, 0xe5, 0x4e, 0x2a,
  0x77, 0x54, 0x65, 0x1d, 0x27, 0x35, 0x5a, 0xfc, 0xfb, 0xfa, 0xde, 0x0c,
  0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00,

};
static unsigned int _codedir_len = 0xd5;

static unsigned char fk_cms[] = {
  0x30, 0x80, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07,
  0x02, 0xa0, 0x80, 0x30, 0x80, 0x02, 0x01, 0x01, 0x31, 0x0b, 0x30, 0x09,
  0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x30, 0x80, 0x06,
  0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0x00, 0x00,
  0xa0, 0x82, 0x0c, 0x48, 0x30, 0x82, 0x03, 0x8e, 0x30, 0x82, 0x02, 0x76,
  0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x01, 0x17, 0x30, 0x0d, 0x06, 0x09,
  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30,
  0x79, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
  0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13,
  0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31,
  0x26, 0x30, 0x24, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70,
  0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72,
  0x69, 0x74, 0x79, 0x31, 0x2d, 0x30, 0x2b, 0x06, 0x03, 0x55, 0x04, 0x03,
  0x13, 0x24, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x69, 0x50, 0x68, 0x6f,
  0x6e, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
  0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
  0x74, 0x79, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x38, 0x30, 0x35, 0x30, 0x32,
  0x32, 0x30, 0x31, 0x30, 0x30, 0x38, 0x5a, 0x17, 0x0d, 0x30, 0x39, 0x30,
  0x35, 0x30, 0x32, 0x32, 0x30, 0x31, 0x30, 0x30, 0x38, 0x5a, 0x30, 0x5a,
  0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55,
  0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a,
  0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x36,
  0x30, 0x34, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2d, 0x54, 0x45, 0x53,
  0x54, 0x20, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x69, 0x50, 0x68, 0x6f,
  0x6e, 0x65, 0x20, 0x4f, 0x53, 0x20, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63,
  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e,
  0x67, 0x20, 0x54, 0x45, 0x53, 0x54, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06,
  0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
  0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xd6,
  0x73, 0xa4, 0x41, 0xc5, 0x02, 0x35, 0xbb, 0x66, 0xb4, 0xd4, 0x60, 0x42,
  0x36, 0xea, 0x09, 0x5f, 0x8e, 0x6d, 0xf1, 0x57, 0xdd, 0xe5, 0x3a, 0x7d,
  0x77, 0xc1, 0x8e, 0xce, 0x34, 0x8b, 0xfc, 0xd6, 0x86, 0xe2, 0x5b, 0x2c,
  0x1d, 0x61, 0x38, 0x5f, 0x0a, 0x01, 0x78, 0x75, 0x3a, 0xd3, 0x7c, 0x03,
  0xb9, 0xef, 0x76, 0x73, 0x2b, 0xd0, 0xcc, 0xf3, 0x40, 0xb6, 0x1f, 0xf2,
  0x52, 0x05, 0x57, 0xb1, 0xff, 0x43, 0xa8, 0xf2, 0x4d, 0x3f, 0xd4, 0x55,
  0x7b, 0xb1, 0x97, 0xc5, 0x70, 0xf1, 0x78, 0xa0, 0x07, 0x63, 0x3c, 0x2f,
  0xcd, 0xf7, 0x22, 0xd3, 0xce, 0xa1, 0x88, 0xb0, 0x58, 0xd4, 0x00, 0x89,
  0x3b, 0xd8, 0xea, 0x18, 0x46, 0x21, 0x79, 0x6e, 0x36, 0x6f, 0xfa, 0xaa,
  0xcc, 0xc2, 0x8d, 0xf0, 0xfd, 0x74, 0xac, 0x5a, 0x6c, 0xab, 0x69, 0xb1,
  0xe4, 0xd8, 0xa2, 0x6d, 0x0c, 0x8e, 0x0d, 0x02, 0x03, 0x01, 0x00, 0x01,
  0xa3, 0x81, 0xc3, 0x30, 0x81, 0xc0, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d,
  0x0f, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x0c, 0x06, 0x03, 0x55,
  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x16, 0x06,
  0x03, 0x55, 0x1d, 0x25, 0x01, 0x01, 0xff, 0x04, 0x0c, 0x30, 0x0a, 0x06,
  0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x30, 0x11, 0x06,
  0x0b, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x63, 0x64, 0x06, 0x01, 0x03, 0x01,
  0x04, 0x02, 0x05, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04,
  0x16, 0x04, 0x14, 0xdb, 0x1d, 0xec, 0xe2, 0x32, 0x88, 0xb0, 0xd7, 0x69,
  0x9c, 0x53, 0x52, 0xc3, 0x67, 0x6b, 0x2f, 0xb5, 0xf8, 0xdb, 0x88, 0x30,
  0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14,
  0xe7, 0x34, 0x2a, 0x2e, 0x22, 0xde, 0x39, 0x60, 0x6b, 0xb4, 0x94, 0xce,
  0x77, 0x83, 0x61, 0x2f, 0x31, 0xa0, 0x7c, 0x35, 0x30, 0x38, 0x06, 0x03,
  0x55, 0x1d, 0x1f, 0x04, 0x31, 0x30, 0x2f, 0x30, 0x2d, 0xa0, 0x2b, 0xa0,
  0x29, 0x86, 0x27, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77,
  0x77, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  0x61, 0x70, 0x70, 0x6c, 0x65, 0x63, 0x61, 0x2f, 0x69, 0x70, 0x68, 0x6f,
  0x6e, 0x65, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
  0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01,
  0x01, 0x00, 0x69, 0xc4, 0x9c, 0x59, 0x97, 0x0f, 0xc8, 0x4e, 0xb3, 0xc7,
  0x87, 0x15, 0x4b, 0x45, 0x06, 0x8a, 0x59, 0x48, 0x72, 0x0b, 0xab, 0xb1,
  0x26, 0x4a, 0x86, 0x1d, 0x73, 0xba, 0x38, 0xef, 0x69, 0x74, 0x9b, 0x69,
  0x06, 0x62, 0x97, 0x31, 0xe8, 0xae, 0xf5, 0xc2, 0x5b, 0x12, 0x16, 0x29,
  0xc2, 0xae, 0x49, 0x54, 0x66, 0x45, 0x1a, 0xa9, 0xa2, 0x86, 0xa7, 0x6e,
  0xcb, 0xe9, 0x76, 0xf1, 0x24, 0x64, 0x32, 0xde, 0x13, 0x25, 0xe7, 0x4e,
  0xdc, 0x8c, 0xe6, 0x60, 0x7a, 0xe1, 0x80, 0x6a, 0x01, 0x04, 0x3d, 0x77,
  0xb8, 0x5a, 0x82, 0x71, 0xb3, 0x59, 0x77, 0x9c, 0xfa, 0xac, 0xc7, 0x62,
  0x48, 0x3b, 0xce, 0xf0, 0x9c, 0x51, 0x34, 0x72, 0x72, 0x55, 0x00, 0x2f,
  0x53, 0x32, 0x0e, 0xf9, 0x1d, 0x0d, 0x6f, 0xd4, 0x84, 0xe2, 0xff, 0x0d,
  0x88, 0x2b, 0x99, 0x53, 0x55, 0xab, 0x89, 0xa6, 0xa9, 0x6d, 0xd1, 0xad,
  0x6c, 0x21, 0x40, 0x57, 0xc4, 0x44, 0x8f, 0x18, 0x79, 0x7e, 0xdd, 0xa5,
  0x0e, 0xad, 0x5b, 0x96, 0x44, 0x58, 0xd7, 0x46, 0x64, 0x5a, 0x07, 0x81,
  0x09, 0xe7, 0x78, 0x7e, 0x8b, 0x99, 0xa1, 0x12, 0xbe, 0x27, 0x0a, 0x29,
  0x9b, 0xd1, 0xa9, 0x84, 0xff, 0x0e, 0x1f, 0x83, 0xb4, 0x04, 0x20, 0x8b,
  0xd2, 0xe2, 0x9b, 0xcc, 0x66, 0xf5, 0xa6, 0x1d, 0x25, 0x70, 0x3a, 0xff,
  0x43, 0x19, 0xfa, 0x94, 0xb9, 0x78, 0x66, 0x0b, 0xb7, 0xec, 0x33, 0xc0,
  0x82, 0x93, 0x91, 0x4f, 0x79, 0x0d, 0x78, 0xdc, 0xd6, 0xad, 0xd1, 0x32,
  0xa5, 0xf5, 0xaf, 0xe3, 0xd1, 0x86, 0x70, 0xa0, 0x0a, 0x8e, 0x20, 0x68,
  0x62, 0x94, 0xe8, 0x1f, 0xc6, 0xdd, 0x62, 0xc9, 0xaa, 0x8b, 0xc8, 0x30,
  0x2f, 0x8a, 0xe3, 0x51, 0xc3, 0x8f, 0x1a, 0x99, 0x87, 0x07, 0x00, 0xf5,
  0x84, 0xb5, 0xad, 0x7c, 0x0d, 0x7b, 0x30, 0x82, 0x03, 0xf3, 0x30, 0x82,
  0x02, 0xdb, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x01, 0x17, 0x30, 0x0d,
  0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05,
  0x00, 0x30, 0x62, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06,
  0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
  0x0a, 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63,
  0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d,
  0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
  0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68,
  0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55,
  0x04, 0x03, 0x13, 0x0d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x52, 0x6f,
  0x6f, 0x74, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x37, 0x30,
  0x34, 0x31, 0x32, 0x31, 0x37, 0x34, 0x33, 0x32, 0x38, 0x5a, 0x17, 0x0d,
  0x32, 0x32, 0x30, 0x34, 0x31, 0x32, 0x31, 0x37, 0x34, 0x33, 0x32, 0x38,
  0x5a, 0x30, 0x79, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06,
  0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
  0x0a, 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63,
  0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d,
  0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
  0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68,
  0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2d, 0x30, 0x2b, 0x06, 0x03, 0x55,
  0x04, 0x03, 0x13, 0x24, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x69, 0x50,
  0x68, 0x6f, 0x6e, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
  0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f,
  0x72, 0x69, 0x74, 0x79, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09,
  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03,
  0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01,
  0x00, 0xa3, 0x1e, 0xbe, 0xf0, 0x47, 0xc0, 0xb4, 0x9e, 0x10, 0x5b, 0x46,
  0xa4, 0xb8, 0x21, 0xb8, 0x4f, 0x86, 0x21, 0x70, 0x28, 0x45, 0x60, 0x5c,
  0x1c, 0xc3, 0xc8, 0x0a, 0x64, 0x63, 0x88, 0xfb, 0xfc, 0x69, 0xee, 0xf8,
  0x54, 0xfc, 0xe9, 0x5b, 0xb7, 0x06, 0x4e, 0x04, 0x2f, 0xc3, 0x6b, 0x33,
  0xaf, 0x44, 0x4c, 0xea, 0x4b, 0x80, 0x09, 0xb4, 0x87, 0xf6, 0x5b, 0xb4,
  0xfd, 0x64, 0xdd, 0xb3, 0x72, 0xe0, 0x13, 0xb3, 0xfd, 0x17, 0xd9, 0xbc,
  0xe7, 0xa8, 0xed, 0xc2, 0x8c, 0x61, 0xc2, 0x2a, 0xf9, 0xec, 0xce, 0xa5,
  0x5e, 0xd6, 0x69, 0xeb, 0x64, 0x0b, 0x8d, 0x08, 0x8f, 0xb8, 0xa0, 0x50,
  0x46, 0x09, 0xdc, 0x19, 0xe4, 0xe5, 0xb0, 0x94, 0x6d, 0xbb, 0xf7, 0x99,
  0x98, 0xc4, 0xe8, 0x9b, 0x41, 0x4e, 0xd4, 0xf1, 0x65, 0xe3, 0x1b, 0x52,
  0x7a, 0xdc, 0xe8, 0x03, 0xd9, 0x6e, 0x1d, 0xda, 0x10, 0x55, 0x86, 0xa4,
  0x29, 0x58, 0x49, 0x0c, 0xea, 0x47, 0xd7, 0x15, 0x34, 0x33, 0xf6, 0xc0,
  0xa0, 0x44, 0x4a, 0x70, 0xbe, 0x2c, 0xb5, 0x2a, 0x30, 0x37, 0x8c, 0x2e,
  0x15, 0xeb, 0xd1, 0xe4, 0x6c, 0x97, 0x38, 0x55, 0x56, 0xb1, 0x35, 0x2b,
  0x58, 0xea, 0x44, 0xa3, 0x26, 0x85, 0xee, 0xc8, 0x66, 0x4a, 0xe4, 0xcf,
  0x89, 0xf0, 0x3d, 0x63, 0xad, 0x29, 0xde, 0xad, 0xba, 0x5a, 0xb3, 0xdc,
  0xa5, 0xa3, 0x9a, 0xa7, 0x09, 0x4e, 0x80, 0x16, 0x35, 0x65, 0xa4, 0x85,
  0x0d, 0x63, 0x7b, 0x3e, 0x63, 0x8a, 0xda, 0x7d, 0x4a, 0x46, 0xec, 0xa3,
  0x39, 0x18, 0x34, 0xb9, 0xc6, 0x28, 0x65, 0x18, 0xbc, 0x13, 0x60, 0x9c,
  0x7f, 0x57, 0xac, 0x14, 0xc9, 0x89, 0xed, 0xa1, 0xb6, 0x87, 0x68, 0x52,
  0xb6, 0x84, 0x4e, 0xb8, 0xc8, 0x83, 0xec, 0xf9, 0x9e, 0x19, 0xab, 0xb3,
  0xc1, 0x0b, 0x86, 0xc7, 0x9f, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81,
  0x9c, 0x30, 0x81, 0x99, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01,
  0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x0f, 0x06, 0x03,
  0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01,
  0xff, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14,
  0xe7, 0x34, 0x2a, 0x2e, 0x22, 0xde, 0x39, 0x60, 0x6b, 0xb4, 0x94, 0xce,
  0x77, 0x83, 0x61, 0x2f, 0x31, 0xa0, 0x7c, 0x35, 0x30, 0x1f, 0x06, 0x03,
  0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x2b, 0xd0, 0x69,
  0x47, 0x94, 0x76, 0x09, 0xfe, 0xf4, 0x6b, 0x8d, 0x2e, 0x40, 0xa6, 0xf7,
  0x47, 0x4d, 0x7f, 0x08, 0x5e, 0x30, 0x36, 0x06, 0x03, 0x55, 0x1d, 0x1f,
  0x04, 0x2f, 0x30, 0x2d, 0x30, 0x2b, 0xa0, 0x29, 0xa0, 0x27, 0x86, 0x25,
  0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x61,
  0x70, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x70,
  0x6c, 0x65, 0x63, 0x61, 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x72,
  0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
  0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x1d, 0xd1, 0xd5,
  0x7b, 0xdd, 0x74, 0x4e, 0xd7, 0x17, 0xfc, 0x82, 0x2d, 0x0c, 0x99, 0x9b,
  0x5e, 0x42, 0x72, 0xf2, 0x69, 0xdc, 0xd5, 0x6b, 0x5e, 0x0d, 0x0c, 0x6b,
  0x4b, 0x3e, 0x7b, 0x14, 0x25, 0xde, 0xb3, 0x94, 0xe8, 0xa0, 0xfa, 0x0f,
  0x80, 0x89, 0xf2, 0x17, 0x3d, 0x00, 0x02, 0xa2, 0x91, 0x91, 0xbe, 0x74,
  0x57, 0xdc, 0xaf, 0x9a, 0x9f, 0xa1, 0x0a, 0x7d, 0x30, 0xbe, 0x00, 0x2a,
  0xcc, 0x21, 0x59, 0xeb, 0xfd, 0x49, 0xac, 0x6e, 0x75, 0x19, 0xe8, 0x9a,
  0x7a, 0x03, 0xd1, 0x86, 0xf6, 0xe7, 0xf6, 0xb0, 0x0e, 0x4b, 0x49, 0xfa,
  0xa3, 0xb7, 0x41, 0xba, 0xd7, 0xd1, 0xe3, 0x56, 0xa1, 0x7d, 0x83, 0xab,
  0x97, 0xae, 0xf8, 0x51, 0x4a, 0x26, 0xc1, 0x85, 0x42, 0x13, 0x26, 0x8d,
  0x03, 0x54, 0x66, 0x10, 0x5e, 0x60, 0x84, 0x05, 0x12, 0x31, 0x2b, 0x6b,
  0x54, 0xc0, 0xa0, 0xc8, 0x41, 0xbc, 0x54, 0x1e, 0xe7, 0x54, 0xad, 0x13,
  0x00, 0xd2, 0x4a, 0xc7, 0xbb, 0xc1, 0x8a, 0xaf, 0x81, 0x08, 0x8e, 0xf0,
  0x46, 0x0a, 0xbf, 0x27, 0xa6, 0xbe, 0xdc, 0xcf, 0x39, 0x3a, 0x80, 0x70,
  0x19, 0x23, 0x32, 0xa3, 0x6b, 0x66, 0x5d, 0x9e, 0x4d, 0xa8, 0x47, 0x49,
  0xb2, 0x7b, 0x45, 0xb5, 0x51, 0x33, 0xa7, 0x74, 0x67, 0x09, 0x4e, 0xb6,
  0x6c, 0x6f, 0x48, 0xf7, 0x2c, 0xb9, 0x33, 0x05, 0x44, 0x6b, 0x45, 0xbe,
  0x74, 0x4b, 0x6f, 0xb2, 0x86, 0x91, 0xb4, 0x3e, 0x25, 0x28, 0x25, 0x9e,
  0xb3, 0xc2, 0x51, 0x86, 0xfc, 0x4f, 0xe5, 0xaf, 0x3b, 0xaa, 0xbb, 0x44,
  0x2c, 0x01, 0x49, 0xe2, 0x74, 0xb3, 0x34, 0xfa, 0x44, 0xef, 0x14, 0xc2,
  0x11, 0xf2, 0x2d, 0x19, 0x1a, 0x51, 0x89, 0xd3, 0x08, 0x4a, 0x41, 0x6c,
  0x58, 0x56, 0xde, 0x9b, 0x3a, 0xe1, 0x05, 0x57, 0xe5, 0x62, 0xcf, 0xd2,
  0x0f, 0x30, 0x82, 0x04, 0xbb, 0x30, 0x82, 0x03, 0xa3, 0xa0, 0x03, 0x02,
  0x01, 0x02, 0x02, 0x01, 0x02, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48,
  0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x62, 0x31, 0x0b,
  0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31,
  0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, 0x70,
  0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24,
  0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65,
  0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
  0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79,
  0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0d, 0x41,
  0x70, 0x70, 0x6c, 0x65, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41,
  0x30, 0x1e, 0x17, 0x0d, 0x30, 0x36, 0x30, 0x34, 0x32, 0x35, 0x32, 0x31,
  0x34, 0x30, 0x33, 0x36, 0x5a, 0x17, 0x0d, 0x33, 0x35, 0x30, 0x32, 0x30,
  0x39, 0x32, 0x31, 0x34, 0x30, 0x33, 0x36, 0x5a, 0x30, 0x62, 0x31, 0x0b,
  0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31,
  0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, 0x70,
  0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24,
  0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65,
  0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
  0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79,
  0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0d, 0x41,
  0x70, 0x70, 0x6c, 0x65, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41,
  0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
  0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00,
  0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xe4, 0x91, 0xa9,
  0x09, 0x1f, 0x91, 0xdb, 0x1e, 0x47, 0x50, 0xeb, 0x05, 0xed, 0x5e, 0x79,
  0x84, 0x2d, 0xeb, 0x36, 0xa2, 0x57, 0x4c, 0x55, 0xec, 0x8b, 0x19, 0x89,
  0xde, 0xf9, 0x4b, 0x6c, 0xf5, 0x07, 0xab, 0x22, 0x30, 0x02, 0xe8, 0x18,
  0x3e, 0xf8, 0x50, 0x09, 0xd3, 0x7f, 0x41, 0xa8, 0x98, 0xf9, 0xd1, 0xca,
  0x66, 0x9c, 0x24, 0x6b, 0x11, 0xd0, 0xa3, 0xbb, 0xe4, 0x1b, 0x2a, 0xc3,
  0x1f, 0x95, 0x9e, 0x7a, 0x0c, 0xa4, 0x47, 0x8b, 0x5b, 0xd4, 0x16, 0x37,
  0x33, 0xcb, 0xc4, 0x0f, 0x4d, 0xce, 0x14, 0x69, 0xd1, 0xc9, 0x19, 0x72,
  0xf5, 0x5d, 0x0e, 0xd5, 0x7f, 0x5f, 0x9b, 0xf2, 0x25, 0x03, 0xba, 0x55,
  0x8f, 0x4d, 0x5d, 0x0d, 0xf1, 0x64, 0x35, 0x23, 0x15, 0x4b, 0x15, 0x59,
  0x1d, 0xb3, 0x94, 0xf7, 0xf6, 0x9c, 0x9e, 0xcf, 0x50, 0xba, 0xc1, 0x58,
  0x50, 0x67, 0x8f, 0x08, 0xb4, 0x20, 0xf7, 0xcb, 0xac, 0x2c, 0x20, 0x6f,
  0x70, 0xb6, 0x3f, 0x01, 0x30, 0x8c, 0xb7, 0x43, 0xcf, 0x0f, 0x9d, 0x3d,
  0xf3, 0x2b, 0x49, 0x28, 0x1a, 0xc8, 0xfe, 0xce, 0xb5, 0xb9, 0x0e, 0xd9,
  0x5e, 0x1c, 0xd6, 0xcb, 0x3d, 0xb5, 0x3a, 0xad, 0xf4, 0x0f, 0x0e, 0x00,
  0x92, 0x0b, 0xb1, 0x21, 0x16, 0x2e, 0x74, 0xd5, 0x3c, 0x0d, 0xdb, 0x62,
  0x16, 0xab, 0xa3, 0x71, 0x92, 0x47, 0x53, 0x55, 0xc1, 0xaf, 0x2f, 0x41,
  0xb3, 0xf8, 0xfb, 0xe3, 0x70, 0xcd, 0xe6, 0xa3, 0x4c, 0x45, 0x7e, 0x1f,
  0x4c, 0x6b, 0x50, 0x96, 0x41, 0x89, 0xc4, 0x74, 0x62, 0x0b, 0x10, 0x83,
  0x41, 0x87, 0x33, 0x8a, 0x81, 0xb1, 0x30, 0x58, 0xec, 0x5a, 0x04, 0x32,
  0x8c, 0x68, 0xb3, 0x8f, 0x1d, 0xde, 0x65, 0x73, 0xff, 0x67, 0x5e, 0x65,
  0xbc, 0x49, 0xd8, 0x76, 0x9f, 0x33, 0x14, 0x65, 0xa1, 0x77, 0x94, 0xc9,
  0x2d, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x7a, 0x30, 0x82,
  0x01, 0x76, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff,
  0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30,
  0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x2b, 0xd0,
  0x69, 0x47, 0x94, 0x76, 0x09, 0xfe, 0xf4, 0x6b, 0x8d, 0x2e, 0x40, 0xa6,
  0xf7, 0x47, 0x4d, 0x7f, 0x08, 0x5e, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x2b, 0xd0, 0x69, 0x47, 0x94,
  0x76, 0x09, 0xfe, 0xf4, 0x6b, 0x8d, 0x2e, 0x40, 0xa6, 0xf7, 0x47, 0x4d,
  0x7f, 0x08, 0x5e, 0x30, 0x82, 0x01, 0x11, 0x06, 0x03, 0x55, 0x1d, 0x20,
  0x04, 0x82, 0x01, 0x08, 0x30, 0x82, 0x01, 0x04, 0x30, 0x82, 0x01, 0x00,
  0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x63, 0x64, 0x05, 0x01, 0x30,
  0x81, 0xf2, 0x30, 0x2a, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07,
  0x02, 0x01, 0x16, 0x1e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f,
  0x77, 0x77, 0x77, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f,
  0x6d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x63, 0x61, 0x2f, 0x30, 0x81,
  0xc3, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x02, 0x30,
  0x81, 0xb6, 0x1a, 0x81, 0xb3, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x6e, 0x63,
  0x65, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x63, 0x65,
  0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x62, 0x79,
  0x20, 0x61, 0x6e, 0x79, 0x20, 0x70, 0x61, 0x72, 0x74, 0x79, 0x20, 0x61,
  0x73, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x20, 0x61, 0x63, 0x63, 0x65, 0x70,
  0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,
  0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63,
  0x61, 0x62, 0x6c, 0x65, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72,
  0x64, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20,
  0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f,
  0x66, 0x20, 0x75, 0x73, 0x65, 0x2c, 0x20, 0x63, 0x65, 0x72, 0x74, 0x69,
  0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63,
  0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66,
  0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x72, 0x61, 0x63,
  0x74, 0x69, 0x63, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65,
  0x6e, 0x74, 0x73, 0x2e, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
  0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00,
  0x5c, 0x36, 0x99, 0x4c, 0x2d, 0x78, 0xb7, 0xed, 0x8c, 0x9b, 0xdc, 0xf3,
  0x77, 0x9b, 0xf2, 0x76, 0xd2, 0x77, 0x30, 0x4f, 0xc1, 0x1f, 0x85, 0x83,
  0x85, 0x1b, 0x99, 0x3d, 0x47, 0x37, 0xf2, 0xa9, 0x9b, 0x40, 0x8e, 0x2c,
  0xd4, 0xb1, 0x90, 0x12, 0xd8, 0xbe, 0xf4, 0x73, 0x9b, 0xee, 0xd2, 0x64,
  0x0f, 0xcb, 0x79, 0x4f, 0x34, 0xd8, 0xa2, 0x3e, 0xf9, 0x78, 0xff, 0x6b,
  0xc8, 0x07, 0xec, 0x7d, 0x39, 0x83, 0x8b, 0x53, 0x20, 0xd3, 0x38, 0xc4,
  0xb1, 0xbf, 0x9a, 0x4f, 0x0a, 0x6b, 0xff, 0x2b, 0xfc, 0x59, 0xa7, 0x05,
  0x09, 0x7c, 0x17, 0x40, 0x56, 0x11, 0x1e, 0x74, 0xd3, 0xb7, 0x8b, 0x23,
  0x3b, 0x47, 0xa3, 0xd5, 0x6f, 0x24, 0xe2, 0xeb, 0xd1, 0xb7, 0x70, 0xdf,
  0x0f, 0x45, 0xe1, 0x27, 0xca, 0xf1, 0x6d, 0x78, 0xed, 0xe7, 0xb5, 0x17,
  0x17, 0xa8, 0xdc, 0x7e, 0x22, 0x35, 0xca, 0x25, 0xd5, 0xd9, 0x0f, 0xd6,
  0x6b, 0xd4, 0xa2, 0x24, 0x23, 0x11, 0xf7, 0xa1, 0xac, 0x8f, 0x73, 0x81,
  0x60, 0xc6, 0x1b, 0x5b, 0x09, 0x2f, 0x92, 0xb2, 0xf8, 0x44, 0x48, 0xf0,
  0x60, 0x38, 0x9e, 0x15, 0xf5, 0x3d, 0x26, 0x67, 0x20, 0x8a, 0x33, 0x6a,
  0xf7, 0x0d, 0x82, 0xcf, 0xde, 0xeb, 0xa3, 0x2f, 0xf9, 0x53, 0x6a, 0x5b,
  0x64, 0xc0, 0x63, 0x33, 0x77, 0xf7, 0x3a, 0x07, 0x2c, 0x56, 0xeb, 0xda,
  0x0f, 0x21, 0x0e, 0xda, 0xba, 0x73, 0x19, 0x4f, 0xb5, 0xd9, 0x36, 0x7f,
  0xc1, 0x87, 0x55, 0xd9, 0xa7, 0x99, 0xb9, 0x32, 0x42, 0xfb, 0xd8, 0xd5,
  0x71, 0x9e, 0x7e, 0xa1, 0x52, 0xb7, 0x1b, 0xbd, 0x93, 0x42, 0x24, 0x12,
  0x2a, 0xc7, 0x0f, 0x1d, 0xb6, 0x4d, 0x9c, 0x5e, 0x63, 0xc8, 0x4b, 0x80,
  0x17, 0x50, 0xaa, 0x8a, 0xd5, 0xda, 0xe4, 0xfc, 0xd0, 0x09, 0x07, 0x37,
  0xb0, 0x75, 0x75, 0x21, 0x31, 0x82, 0x01, 0x83, 0x30, 0x82, 0x01, 0x7f,
  0x02, 0x01, 0x01, 0x30, 0x7e, 0x30, 0x79, 0x31, 0x0b, 0x30, 0x09, 0x06,
  0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11,
  0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65,
  0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, 0x03, 0x55,
  0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65,
  0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,
  0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2d, 0x30,
  0x2b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x24, 0x41, 0x70, 0x70, 0x6c,
  0x65, 0x20, 0x69, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x20, 0x43, 0x65, 0x72,
  0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41,
  0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x02, 0x01, 0x17, 0x30,
  0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0xa0, 0x5d,
  0x30, 0x18, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09,
  0x03, 0x31, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
  0x07, 0x01, 0x30, 0x1c, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
  0x01, 0x09, 0x05, 0x31, 0x0f, 0x17, 0x0d, 0x30, 0x38, 0x30, 0x35, 0x31,
  0x30, 0x30, 0x31, 0x30, 0x30, 0x32, 0x32, 0x5a, 0x30, 0x23, 0x06, 0x09,
  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x04, 0x31, 0x16, 0x04,
  0x14, 0xf2, 0x05, 0x98, 0xf9, 0x3c, 0xf2, 0x4c, 0x9c, 0x3d, 0x9c, 0xcb,
  0x3d, 0xa0, 0xa2, 0x4f, 0x95, 0xb2, 0x3f, 0x5e, 0x79, 0x30, 0x0d, 0x06,
  0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
  0x04, 0x81, 0x80, 0xa7, 0x93, 0x53, 0xf4, 0x6e, 0x7e, 0x25, 0xbf, 0xf0,
  0xd5, 0xd1, 0xf0, 0xf0, 0x79, 0x8e, 0xcb, 0x7b, 0x7d, 0x23, 0x6f, 0xb5,
  0x82, 0x36, 0xb6, 0x68, 0x48, 0xff, 0xc2, 0x08, 0x4b, 0x23, 0xf3, 0xe0,
  0x48, 0xe1, 0x9e, 0xec, 0x65, 0x86, 0xf5, 0x51, 0xa5, 0xb4, 0x8c, 0xf0,
  0x88, 0xa7, 0x5c, 0x1a, 0xb4, 0x9a, 0x8c, 0x3b, 0x82, 0xf2, 0xad, 0xff,
  0xe8, 0xf3, 0x10, 0x1f, 0x5b, 0x4f, 0x1c, 0x54, 0x39, 0xf6, 0x84, 0x48,
  0x06, 0x15, 0xef, 0x26, 0xb1, 0x2f, 0x97, 0xb5, 0x9e, 0x2c, 0xbb, 0x2a,
  0x21, 0x35, 0x45, 0x80, 0x47, 0x16, 0x30, 0x60, 0x5c, 0xee, 0x93, 0xc9,
  0xd3, 0x9a, 0x03, 0x20, 0xad, 0x0c, 0xb2, 0x83, 0x6c, 0x62, 0x8f, 0xbf,
  0x05, 0x23, 0x16, 0x6f, 0x38, 0x76, 0x42, 0x16, 0xab, 0x15, 0x82, 0xcf,
  0xfa, 0x0a, 0xa6, 0x85, 0x90, 0x66, 0xc4, 0x4e, 0xf9, 0xab, 0x1c, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00
};
static unsigned int fk_cms_len = 3601;

#if 0 // currently unused
static unsigned char smime_blob[] = {
  0x30, 0x80, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07,
  0x02, 0xa0, 0x80, 0x30, 0x80, 0x02, 0x01, 0x01, 0x31, 0x0b, 0x30, 0x09,
  0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x30, 0x80, 0x06,
  0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0x00, 0x00,
  0xa0, 0x82, 0x06, 0xf6, 0x30, 0x82, 0x03, 0x3f, 0x30, 0x82, 0x02, 0xa8,
  0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x01, 0x0d, 0x30, 0x0d, 0x06, 0x09,
  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30,
  0x81, 0xd1, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13,
  0x02, 0x5a, 0x41, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x08,
  0x13, 0x0c, 0x57, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x43, 0x61,
  0x70, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13,
  0x09, 0x43, 0x61, 0x70, 0x65, 0x20, 0x54, 0x6f, 0x77, 0x6e, 0x31, 0x1a,
  0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x11, 0x54, 0x68, 0x61,
  0x77, 0x74, 0x65, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x74, 0x69,
  0x6e, 0x67, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13,
  0x1f, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
  0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20,
  0x44, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x24, 0x30, 0x22,
  0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1b, 0x54, 0x68, 0x61, 0x77, 0x74,
  0x65, 0x20, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x46,
  0x72, 0x65, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x43, 0x41, 0x31, 0x2b,
  0x30, 0x29, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09,
  0x01, 0x16, 0x1c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x2d,
  0x66, 0x72, 0x65, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x40, 0x74, 0x68, 0x61,
  0x77, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x1e, 0x17, 0x0d, 0x30,
  0x33, 0x30, 0x37, 0x31, 0x37, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a,
  0x17, 0x0d, 0x31, 0x33, 0x30, 0x37, 0x31, 0x36, 0x32, 0x33, 0x35, 0x39,
  0x35, 0x39, 0x5a, 0x30, 0x62, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55,
  0x04, 0x06, 0x13, 0x02, 0x5a, 0x41, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03,
  0x55, 0x04, 0x0a, 0x13, 0x1c, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20,
  0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x28,
  0x50, 0x74, 0x79, 0x29, 0x20, 0x4c, 0x74, 0x64, 0x2e, 0x31, 0x2c, 0x30,
  0x2a, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x23, 0x54, 0x68, 0x61, 0x77,
  0x74, 0x65, 0x20, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x20,
  0x46, 0x72, 0x65, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x49, 0x73, 0x73,
  0x75, 0x69, 0x6e, 0x67, 0x20, 0x43, 0x41, 0x30, 0x81, 0x9f, 0x30, 0x0d,
  0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05,
  0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00,
  0xc4, 0xa6, 0x3c, 0x55, 0x73, 0x55, 0xfb, 0x4e, 0xb9, 0xca, 0x99, 0x5a,
  0x1e, 0x68, 0xc0, 0x75, 0x04, 0x70, 0x9d, 0xdf, 0xe9, 0xff, 0xa3, 0x1e,
  0xec, 0xbd, 0xcd, 0xf5, 0x5b, 0xf2, 0x1a, 0x76, 0xbd, 0x7f, 0x0c, 0x3a,
  0x61, 0xf2, 0xbf, 0x51, 0xce, 0x01, 0xd4, 0xe5, 0x50, 0x0a, 0x30, 0xd7,
  0x02, 0x63, 0x5a, 0x2c, 0x89, 0x15, 0x70, 0x8e, 0xdd, 0xc9, 0xf0, 0x2b,
  0x85, 0x5a, 0xaa, 0x3f, 0x71, 0x56, 0xcb, 0xaf, 0x3c, 0x0b, 0x07, 0xe7,
  0xf1, 0x1f, 0x91, 0x36, 0x24, 0x2a, 0x13, 0xcf, 0x2b, 0xd5, 0xf3, 0x82,
  0x77, 0x3d, 0x03, 0xbe, 0x2b, 0xfe, 0xbb, 0x18, 0x3e, 0x07, 0xbf, 0x40,
  0x80, 0x02, 0x64, 0xd7, 0xa7, 0xa6, 0xbb, 0x9f, 0x65, 0xd1, 0xc5, 0x2a,
  0x54, 0x85, 0x0f, 0x48, 0x04, 0x7f, 0xa7, 0xb6, 0xd1, 0x3c, 0x61, 0x04,
  0x40, 0x1e, 0x64, 0x19, 0x72, 0x60, 0xb7, 0xfb, 0x02, 0x03, 0x01, 0x00,
  0x01, 0xa3, 0x81, 0x94, 0x30, 0x81, 0x91, 0x30, 0x12, 0x06, 0x03, 0x55,
  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff,
  0x02, 0x01, 0x00, 0x30, 0x43, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x3c,
  0x30, 0x3a, 0x30, 0x38, 0xa0, 0x36, 0xa0, 0x34, 0x86, 0x32, 0x68, 0x74,
  0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x74, 0x68, 0x61,
  0x77, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x68, 0x61, 0x77,
  0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x72,
  0x65, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x43, 0x41, 0x2e, 0x63, 0x72, 0x6c,
  0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x01,
  0x06, 0x30, 0x29, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x22, 0x30, 0x20,
  0xa4, 0x1e, 0x30, 0x1c, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04,
  0x03, 0x13, 0x11, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4c, 0x61,
  0x62, 0x65, 0x6c, 0x32, 0x2d, 0x31, 0x33, 0x38, 0x30, 0x0d, 0x06, 0x09,
  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03,
  0x81, 0x81, 0x00, 0x48, 0x8c, 0xd1, 0x50, 0x83, 0xea, 0x0b, 0x2e, 0xcc,
  0x0d, 0xa3, 0x66, 0xac, 0x67, 0x0f, 0x7f, 0xaf, 0xac, 0xbe, 0xc2, 0x17,
  0xa1, 0x43, 0x96, 0x94, 0x9d, 0x7f, 0x4c, 0x21, 0xb8, 0xf8, 0x36, 0x1f,
  0xaa, 0x2d, 0x9f, 0x36, 0x2f, 0xc0, 0xf4, 0x1c, 0x50, 0x20, 0x93, 0x70,
  0x3c, 0xfd, 0xad, 0xe1, 0x61, 0x62, 0xc3, 0xd9, 0x3a, 0x19, 0x7e, 0x84,
  0xb1, 0x99, 0x1b, 0x00, 0xc5, 0x1a, 0x0b, 0x82, 0x74, 0x9e, 0x25, 0x50,
  0x94, 0x62, 0xc7, 0xdb, 0x27, 0x71, 0x57, 0x25, 0x8d, 0xdd, 0xa9, 0x9c,
  0x39, 0x8e, 0x8c, 0x20, 0x4f, 0x65, 0x5f, 0x95, 0xda, 0xf7, 0xf7, 0x87,
  0xd6, 0xc6, 0x08, 0x4e, 0xae, 0xf6, 0xea, 0x34, 0xe5, 0x10, 0x1a, 0x5b,
  0x35, 0x4d, 0x77, 0xe3, 0x56, 0x21, 0x78, 0x82, 0xdc, 0x21, 0x19, 0x35,
  0xde, 0x24, 0xb1, 0xd3, 0x1d, 0x46, 0xff, 0x5d, 0x5f, 0x65, 0x4f, 0x30,
  0x82, 0x03, 0xaf, 0x30, 0x82, 0x03, 0x18, 0xa0, 0x03, 0x02, 0x01, 0x02,
  0x02, 0x10, 0x46, 0x3a, 0x0d, 0xad, 0xbe, 0x01, 0xae, 0x6b, 0x8c, 0x72,
  0x4f, 0x6d, 0x10, 0xda, 0x63, 0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
  0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x62, 0x31,
  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x5a, 0x41,
  0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x1c, 0x54,
  0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c,
  0x74, 0x69, 0x6e, 0x67, 0x20, 0x28, 0x50, 0x74, 0x79, 0x29, 0x20, 0x4c,
  0x74, 0x64, 0x2e, 0x31, 0x2c, 0x30, 0x2a, 0x06, 0x03, 0x55, 0x04, 0x03,
  0x13, 0x23, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x50, 0x65, 0x72,
  0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x46, 0x72, 0x65, 0x65, 0x6d, 0x61,
  0x69, 0x6c, 0x20, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x20, 0x43,
  0x41, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x37, 0x30, 0x38, 0x32, 0x39, 0x30,
  0x31, 0x30, 0x31, 0x35, 0x31, 0x5a, 0x17, 0x0d, 0x30, 0x38, 0x30, 0x38,
  0x32, 0x38, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x5a, 0x30, 0x81, 0xca,
  0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x16, 0x54,
  0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x46, 0x72, 0x65, 0x65, 0x6d, 0x61,
  0x69, 0x6c, 0x20, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x31, 0x1e, 0x30,
  0x1c, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01,
  0x16, 0x0f, 0x64, 0x61, 0x76, 0x65, 0x6d, 0x61, 0x6b, 0x40, 0x6d, 0x61,
  0x63, 0x2e, 0x63, 0x6f, 0x6d, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x09, 0x2a,
  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x16, 0x11, 0x64, 0x61,
  0x76, 0x65, 0x6d, 0x61, 0x6b, 0x40, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2e,
  0x63, 0x6f, 0x6d, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x09, 0x2a, 0x86, 0x48,
  0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x16, 0x11, 0x64, 0x61, 0x76, 0x65,
  0x6d, 0x61, 0x6b, 0x40, 0x67, 0x6d, 0x61, 0x69, 0x6c, 0x2e, 0x63, 0x6f,
  0x6d, 0x31, 0x22, 0x30, 0x20, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
  0x0d, 0x01, 0x09, 0x01, 0x16, 0x13, 0x64, 0x61, 0x76, 0x65, 0x6d, 0x61,
  0x6b, 0x40, 0x64, 0x61, 0x76, 0x65, 0x6d, 0x61, 0x6b, 0x2e, 0x63, 0x6f,
  0x6d, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
  0x0d, 0x01, 0x09, 0x01, 0x16, 0x10, 0x64, 0x61, 0x76, 0x65, 0x40, 0x64,
  0x61, 0x76, 0x65, 0x6d, 0x61, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x82,
  0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
  0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82,
  0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xdc, 0xf3, 0x48, 0x8d, 0x6b,
  0x1d, 0xf5, 0xbf, 0x73, 0x71, 0x27, 0x1c, 0xbd, 0xd2, 0x19, 0x56, 0x19,
  0x08, 0xc3, 0x0e, 0x8b, 0xe1, 0x75, 0x66, 0x4a, 0x93, 0x7f, 0x70, 0x38,
  0xd9, 0xc2, 0x07, 0x73, 0x4e, 0xcc, 0x81, 0xea, 0x03, 0x20, 0x68, 0x09,
  0x94, 0xa8, 0xb9, 0x8a, 0xad, 0xe5, 0x0c, 0xd8, 0x26, 0x0b, 0x97, 0xb9,
  0xae, 0x78, 0xd4, 0x4e, 0xbf, 0x3f, 0x81, 0xb1, 0x04, 0x68, 0xda, 0x1e,
  0x59, 0x9f, 0x3d, 0xc9, 0xc3, 0xa4, 0xfc, 0x61, 0x86, 0x93, 0x58, 0x54,
  0x71, 0x6c, 0xf9, 0xed, 0x99, 0x6a, 0xd8, 0xcb, 0xd7, 0xec, 0x4b, 0x3e,
  0xb7, 0xd4, 0x87, 0xee, 0x09, 0x3d, 0x38, 0x52, 0xe0, 0x7b, 0xce, 0x2d,
  0xda, 0xff, 0x04, 0x54, 0xd8, 0x4c, 0x43, 0xee, 0xab, 0x87, 0xe5, 0x35,
  0x2d, 0xe6, 0xc0, 0xe8, 0x55, 0x89, 0x40, 0x14, 0x4b, 0xd7, 0x27, 0x3e,
  0xce, 0xfe, 0x87, 0x75, 0x01, 0xf3, 0x01, 0x31, 0x23, 0xb7, 0xe5, 0xbf,
  0xd4, 0x5a, 0x66, 0xcd, 0x47, 0x9d, 0xbf, 0x0f, 0xe0, 0x7e, 0x56, 0x30,
  0xa6, 0x2c, 0x02, 0x8b, 0xde, 0x1f, 0xde, 0xa6, 0x18, 0xec, 0xaa, 0x2a,
  0x35, 0xeb, 0x7b, 0x9d, 0x07, 0xde, 0x47, 0x33, 0x84, 0x5a, 0x1e, 0x3b,
  0x86, 0x15, 0x5d, 0x73, 0xcd, 0x71, 0x53, 0x2d, 0x72, 0xef, 0xd3, 0x52,
  0xd3, 0x3e, 0xd0, 0x3b, 0x8c, 0x75, 0x4c, 0xce, 0x42, 0x97, 0xd9, 0x18,
  0xbf, 0xb9, 0x95, 0x71, 0xe1, 0x20, 0xe7, 0x40, 0x09, 0xde, 0x72, 0x08,
  0x87, 0xe9, 0x2a, 0x08, 0x41, 0x2b, 0xd2, 0x0d, 0x14, 0x63, 0x30, 0x14,
  0x74, 0x0a, 0x0d, 0x5a, 0x8a, 0x13, 0x19, 0xe7, 0x7c, 0x18, 0x8d, 0x4a,
  0x72, 0xf1, 0xff, 0x93, 0x2d, 0xd4, 0xba, 0x8b, 0xf0, 0xd6, 0x9e, 0xd3,
  0x9f, 0xe7, 0xd0, 0x84, 0x9b, 0x94, 0xe9, 0xfe, 0x7b, 0x4c, 0x29, 0x02,
  0x03, 0x01, 0x00, 0x01, 0xa3, 0x79, 0x30, 0x77, 0x30, 0x67, 0x06, 0x03,
  0x55, 0x1d, 0x11, 0x04, 0x60, 0x30, 0x5e, 0x81, 0x0f, 0x64, 0x61, 0x76,
  0x65, 0x6d, 0x61, 0x6b, 0x40, 0x6d, 0x61, 0x63, 0x2e, 0x63, 0x6f, 0x6d,
  0x81, 0x11, 0x64, 0x61, 0x76, 0x65, 0x6d, 0x61, 0x6b, 0x40, 0x61, 0x70,
  0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x81, 0x11, 0x64, 0x61, 0x76,
  0x65, 0x6d, 0x61, 0x6b, 0x40, 0x67, 0x6d, 0x61, 0x69, 0x6c, 0x2e, 0x63,
  0x6f, 0x6d, 0x81, 0x13, 0x64, 0x61, 0x76, 0x65, 0x6d, 0x61, 0x6b, 0x40,
  0x64, 0x61, 0x76, 0x65, 0x6d, 0x61, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x81,
  0x10, 0x64, 0x61, 0x76, 0x65, 0x40, 0x64, 0x61, 0x76, 0x65, 0x6d, 0x61,
  0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13,
  0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a,
  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81,
  0x81, 0x00, 0x24, 0x09, 0x54, 0xcc, 0xc9, 0xaf, 0x1c, 0xc8, 0x11, 0xaf,
  0xfe, 0x27, 0x3d, 0x72, 0x15, 0x57, 0xe2, 0x6d, 0x53, 0xe3, 0x5f, 0x56,
  0x2c, 0xaf, 0x74, 0x8b, 0xb3, 0x2c, 0xdc, 0x41, 0x85, 0x8d, 0x55, 0x82,
  0xb6, 0x10, 0xab, 0xcb, 0x66, 0xff, 0xf0, 0xc0, 0x1e, 0x97, 0xac, 0x55,
  0xbd, 0x43, 0xb6, 0x7e, 0x58, 0xc7, 0x05, 0xbf, 0x06, 0x26, 0xda, 0x07,
  0x96, 0x8a, 0x80, 0x12, 0x4a, 0x99, 0xfc, 0xb1, 0x2f, 0x33, 0xfd, 0x9e,
  0x6d, 0xdb, 0x7b, 0xe0, 0x7b, 0xc7, 0xa4, 0x9d, 0xfe, 0x2f, 0x5e, 0xfe,
  0x42, 0x41, 0x74, 0xca, 0xc5, 0xe3, 0x42, 0xc4, 0xd7, 0x72, 0xd3, 0x7e,
  0xd1, 0xe4, 0x17, 0x91, 0x1f, 0x79, 0x6a, 0x93, 0x22, 0x22, 0x38, 0x99,
  0x2a, 0x0f, 0x50, 0xa6, 0xfd, 0x79, 0xc2, 0x95, 0xf0, 0x8e, 0xde, 0x51,
  0xa8, 0x55, 0x98, 0x88, 0x8c, 0x32, 0xa4, 0x08, 0x9d, 0x80, 0x31, 0x82,
  0x03, 0x10, 0x30, 0x82, 0x03, 0x0c, 0x02, 0x01, 0x01, 0x30, 0x76, 0x30,
  0x62, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
  0x5a, 0x41, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13,
  0x1c, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x43, 0x6f, 0x6e, 0x73,
  0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x28, 0x50, 0x74, 0x79, 0x29,
  0x20, 0x4c, 0x74, 0x64, 0x2e, 0x31, 0x2c, 0x30, 0x2a, 0x06, 0x03, 0x55,
  0x04, 0x03, 0x13, 0x23, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x50,
  0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x46, 0x72, 0x65, 0x65,
  0x6d, 0x61, 0x69, 0x6c, 0x20, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67,
  0x20, 0x43, 0x41, 0x02, 0x10, 0x46, 0x3a, 0x0d, 0xad, 0xbe, 0x01, 0xae,
  0x6b, 0x8c, 0x72, 0x4f, 0x6d, 0x10, 0xda, 0x63, 0x00, 0x30, 0x09, 0x06,
  0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0xa0, 0x82, 0x01, 0x6f,
  0x30, 0x18, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09,
  0x03, 0x31, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
  0x07, 0x01, 0x30, 0x1c, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
  0x01, 0x09, 0x05, 0x31, 0x0f, 0x17, 0x0d, 0x30, 0x38, 0x30, 0x37, 0x30,
  0x32, 0x31, 0x36, 0x31, 0x37, 0x32, 0x31, 0x5a, 0x30, 0x23, 0x06, 0x09,
  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x04, 0x31, 0x16, 0x04,
  0x14, 0x67, 0x27, 0xe8, 0x4f, 0xae, 0xad, 0xbf, 0x26, 0x35, 0xca, 0xe3,
  0xc3, 0x9a, 0x1a, 0xa3, 0xa2, 0xbe, 0xe0, 0x92, 0x65, 0x30, 0x81, 0x85,
  0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x10, 0x04, 0x31,
  0x78, 0x30, 0x76, 0x30, 0x62, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55,
  0x04, 0x06, 0x13, 0x02, 0x5a, 0x41, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03,
  0x55, 0x04, 0x0a, 0x13, 0x1c, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20,
  0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x28,
  0x50, 0x74, 0x79, 0x29, 0x20, 0x4c, 0x74, 0x64, 0x2e, 0x31, 0x2c, 0x30,
  0x2a, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x23, 0x54, 0x68, 0x61, 0x77,
  0x74, 0x65, 0x20, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x20,
  0x46, 0x72, 0x65, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x49, 0x73, 0x73,
  0x75, 0x69, 0x6e, 0x67, 0x20, 0x43, 0x41, 0x02, 0x10, 0x46, 0x3a, 0x0d,
  0xad, 0xbe, 0x01, 0xae, 0x6b, 0x8c, 0x72, 0x4f, 0x6d, 0x10, 0xda, 0x63,
  0x00, 0x30, 0x81, 0x87, 0x06, 0x0b, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
  0x01, 0x09, 0x10, 0x02, 0x0b, 0x31, 0x78, 0xa0, 0x76, 0x30, 0x62, 0x31,
  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x5a, 0x41,
  0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x1c, 0x54,
  0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c,
  0x74, 0x69, 0x6e, 0x67, 0x20, 0x28, 0x50, 0x74, 0x79, 0x29, 0x20, 0x4c,
  0x74, 0x64, 0x2e, 0x31, 0x2c, 0x30, 0x2a, 0x06, 0x03, 0x55, 0x04, 0x03,
  0x13, 0x23, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x50, 0x65, 0x72,
  0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x46, 0x72, 0x65, 0x65, 0x6d, 0x61,
  0x69, 0x6c, 0x20, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x20, 0x43,
  0x41, 0x02, 0x10, 0x46, 0x3a, 0x0d, 0xad, 0xbe, 0x01, 0xae, 0x6b, 0x8c,
  0x72, 0x4f, 0x6d, 0x10, 0xda, 0x63, 0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a,
  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82,
  0x01, 0x00, 0x19, 0xee, 0xcb, 0xfe, 0x88, 0x0e, 0x1e, 0x66, 0x8d, 0xe5,
  0xac, 0xeb, 0x92, 0xc1, 0x8e, 0xb5, 0x82, 0xf1, 0x93, 0x78, 0xab, 0xbc,
  0x1d, 0x9d, 0xa8, 0x4b, 0x7e, 0x98, 0xde, 0x67, 0x6c, 0x2b, 0xbe, 0x3d,
  0xd9, 0xe9, 0x3b, 0x61, 0xc9, 0x4b, 0xd3, 0x4b, 0x73, 0x8a, 0x5e, 0xa6,
  0xda, 0xcb, 0xe8, 0x82, 0x6e, 0x53, 0x8f, 0xba, 0xaf, 0xf6, 0xf9, 0xda,
  0xb0, 0x87, 0xf5, 0x6e, 0x66, 0x2e, 0xe3, 0x5c, 0xb0, 0xc7, 0x44, 0x4d,
  0x49, 0x59, 0x05, 0x10, 0xad, 0x4e, 0xd8, 0x53, 0x19, 0x6f, 0x7a, 0xbe,
  0xc7, 0x87, 0xc6, 0xe9, 0x0d, 0xe2, 0x1f, 0x64, 0xa4, 0xcd, 0xfc, 0x19,
  0xb3, 0x51, 0xdc, 0xb4, 0x48, 0x49, 0xb5, 0x7e, 0xce, 0xa1, 0x82, 0x4f,
  0x55, 0xb6, 0xa2, 0x50, 0x2b, 0xec, 0xa0, 0xb2, 0x39, 0x16, 0x09, 0xbe,
  0x39, 0x52, 0xf2, 0xc5, 0x4b, 0x92, 0xbf, 0x46, 0x74, 0x43, 0x8c, 0x80,
  0x6c, 0x07, 0x2b, 0xf5, 0xa7, 0x83, 0x57, 0x55, 0xda, 0xe4, 0xdf, 0x0e,
  0x06, 0x22, 0x71, 0xce, 0xf6, 0xd1, 0x28, 0xf9, 0x53, 0x1c, 0x57, 0x42,
  0x47, 0xd8, 0xf0, 0xad, 0xfe, 0xf2, 0xa6, 0x0d, 0x2c, 0x5e, 0x8f, 0x99,
  0x95, 0x58, 0x08, 0x26, 0xef, 0x70, 0x96, 0xe8, 0x65, 0x80, 0xa2, 0x1f,
  0x93, 0x73, 0xac, 0x85, 0xc9, 0x62, 0x22, 0x48, 0x4d, 0x91, 0x86, 0xc2,
  0x3a, 0xbc, 0xff, 0xfc, 0x91, 0x4f, 0x15, 0x7e, 0x17, 0x0d, 0x4a, 0x5a,
  0xff, 0x6a, 0x9d, 0xbb, 0xcc, 0x27, 0x5e, 0x00, 0x03, 0x66, 0xfe, 0xf4,
  0xe3, 0x61, 0xcb, 0x54, 0x9b, 0x7f, 0x6e, 0x7c, 0x49, 0xf0, 0x1d, 0x15,
  0x8b, 0xe6, 0xb1, 0x3c, 0x07, 0xb9, 0x16, 0x33, 0x3c, 0x66, 0x77, 0x3c,
  0x3d, 0x91, 0x86, 0x08, 0x49, 0x10, 0x67, 0xa8, 0x1b, 0x2f, 0x0d, 0x69,
  0xb5, 0x0e, 0xf5, 0x2c, 0x59, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static unsigned int smime_blob_len = 2628;
#endif // currently unused

static unsigned char scep_reply[] = {
  0x30, 0x82, 0x05, 0x40, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
  0x01, 0x07, 0x02, 0xa0, 0x82, 0x05, 0x31, 0x30, 0x82, 0x05, 0x2d, 0x02,
  0x01, 0x01, 0x31, 0x0e, 0x30, 0x0c, 0x06, 0x08, 0x2a, 0x86, 0x48, 0x86,
  0xf7, 0x0d, 0x02, 0x05, 0x05, 0x00, 0x30, 0x82, 0x03, 0x74, 0x06, 0x09,
  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x03,
  0x65, 0x04, 0x82, 0x03, 0x61, 0x30, 0x82, 0x03, 0x5d, 0x06, 0x09, 0x2a,
  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x03, 0xa0, 0x82, 0x03, 0x4e,
  0x30, 0x82, 0x03, 0x4a, 0x02, 0x01, 0x00, 0x31, 0x81, 0xce, 0x30, 0x81,
  0xcb, 0x02, 0x01, 0x00, 0x30, 0x34, 0x30, 0x2f, 0x31, 0x2d, 0x30, 0x2b,
  0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x24, 0x42, 0x35, 0x41, 0x43, 0x33,
  0x45, 0x30, 0x35, 0x2d, 0x33, 0x42, 0x35, 0x36, 0x2d, 0x34, 0x33, 0x33,
  0x38, 0x2d, 0x42, 0x42, 0x31, 0x34, 0x2d, 0x30, 0x32, 0x37, 0x44, 0x38,
  0x34, 0x43, 0x35, 0x32, 0x36, 0x43, 0x42, 0x02, 0x01, 0x01, 0x30, 0x0d,
  0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05,
  0x00, 0x04, 0x81, 0x80, 0x15, 0xe6, 0x42, 0x9d, 0x2b, 0xbc, 0x3f, 0x8a,
  0x97, 0x21, 0x2a, 0x86, 0x56, 0xbf, 0x48, 0xb6, 0x39, 0x40, 0xe2, 0x25,
  0x5e, 0xc0, 0xf8, 0x5c, 0x56, 0x65, 0xb8, 0x7b, 0x55, 0x24, 0x96, 0x52,
  0xc5, 0xca, 0x8e, 0xf1, 0xfb, 0xbe, 0x0e, 0x0f, 0xf2, 0x16, 0x9c, 0x63,
  0x8c, 0xb2, 0xff, 0x63, 0xd1, 0x58, 0x86, 0x15, 0xb8, 0x8b, 0xf4, 0x76,
  0x78, 0xa9, 0x57, 0xfd, 0xc3, 0x2b, 0xb7, 0x9a, 0x0f, 0x3c, 0x2d, 0x99,
  0x23, 0x7f, 0x88, 0x3a, 0xbd, 0x9a, 0x4f, 0x91, 0xcc, 0x77, 0x5b, 0x75,
  0xa8, 0xad, 0xb8, 0xb2, 0xaf, 0x1c, 0x98, 0xb8, 0xc6, 0xbf, 0x93, 0xcb,
  0x86, 0x44, 0xf7, 0xfc, 0x0c, 0x0a, 0x76, 0x22, 0x62, 0x8b, 0x6b, 0x89,
  0x0d, 0xee, 0x54, 0x0d, 0x3f, 0x85, 0x83, 0x2a, 0x3e, 0x29, 0xf5, 0x4c,
  0x82, 0x2f, 0xbd, 0xdd, 0x34, 0x77, 0x39, 0xfe, 0xac, 0x96, 0x59, 0x16,
  0x30, 0x82, 0x02, 0x72, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
  0x01, 0x07, 0x01, 0x30, 0x11, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x07,
  0x04, 0x08, 0x92, 0x2c, 0x6c, 0xdc, 0xca, 0xd2, 0x38, 0xfe, 0x80, 0x82,
  0x02, 0x50, 0x54, 0xea, 0xcb, 0x61, 0x8c, 0x51, 0xc3, 0xc9, 0x60, 0x97,
  0xf3, 0xf2, 0x90, 0xe2, 0x97, 0xfa, 0xc5, 0x01, 0xfe, 0xa0, 0xa1, 0x3e,
  0x5f, 0xd9, 0x7a, 0xcc, 0x7e, 0x4e, 0x11, 0x91, 0x5c, 0xeb, 0xa1, 0x2f,
  0xfa, 0xfe, 0x6b, 0x8c, 0xca, 0x8e, 0xc7, 0xcc, 0x57, 0x1b, 0xa0, 0x9f,
  0x76, 0x03, 0x57, 0xed, 0xbf, 0x66, 0xfc, 0x43, 0xa7, 0x2d, 0x97, 0x41,
  0x22, 0xa6, 0x42, 0x45, 0xe6, 0x68, 0xc5, 0x6d, 0x16, 0x0e, 0x18, 0xa6,
  0xb5, 0xc7, 0x8c, 0x23, 0x09, 0x2d, 0x65, 0x1f, 0xa8, 0xb2, 0x5c, 0x5e,
  0x8c, 0x8a, 0x3b, 0x15, 0x63, 0x34, 0x02, 0x2f, 0xf8, 0xaf, 0x91, 0x6c,
  0x64, 0xab, 0xaa, 0x1e, 0x35, 0xbb, 0xe3, 0x5b, 0xd3, 0xd9, 0x19, 0x31,
  0x38, 0x52, 0x20, 0x26, 0x3d, 0x87, 0x6e, 0x8f, 0xdf, 0xc5, 0x80, 0xd8,
  0xd8, 0xd8, 0x5d, 0xf1, 0xa2, 0x57, 0x9f, 0xd5, 0xbd, 0x60, 0x59, 0x39,
  0x4a, 0x09, 0x6a, 0x46, 0x72, 0x33, 0x75, 0x3f, 0xbb, 0x38, 0x20, 0x18,
  0x61, 0x6d, 0xef, 0x48, 0x76, 0x2d, 0x4f, 0xe3, 0x41, 0x36, 0xdb, 0x89,
  0xbb, 0x05, 0x43, 0x87, 0xf4, 0x6b, 0xf2, 0xa9, 0xc6, 0xcf, 0xd5, 0xec,
  0xf7, 0x80, 0xc6, 0x12, 0xd6, 0x3c, 0xfa, 0xeb, 0x00, 0xc1, 0x41, 0x7a,
  0x98, 0x49, 0x80, 0xe7, 0x44, 0x0b, 0x04, 0xe4, 0xe8, 0xab, 0xf4, 0x71,
  0x72, 0x3d, 0x3b, 0x39, 0x51, 0x2a, 0x6d, 0x80, 0xcd, 0xc3, 0x69, 0x53,
  0x0c, 0x1b, 0xa7, 0xa8, 0x76, 0x19, 0x0f, 0x77, 0xdb, 0x13, 0x9e, 0x59,
  0x0f, 0xad, 0xd4, 0xce, 0x78, 0x7a, 0xe0, 0x4b, 0x8b, 0xd5, 0xfb, 0x62,
  0x11, 0x10, 0x12, 0x09, 0x41, 0xe1, 0x8f, 0xb6, 0x30, 0x64, 0xb4, 0x74,
  0xcd, 0x84, 0xa9, 0x72, 0x25, 0xf4, 0x79, 0x3c, 0xfc, 0x87, 0x44, 0xbd,
  0xfd, 0x65, 0x36, 0xee, 0xb5, 0xc7, 0x78, 0x7c, 0x52, 0xdd, 0x08, 0xe7,
  0xf1, 0x5f, 0xde, 0xb3, 0x23, 0x98, 0xad, 0x33, 0xf8, 0x7f, 0x62, 0x2b,
  0x5f, 0xe1, 0x49, 0x06, 0x58, 0xfb, 0xb6, 0x38, 0x12, 0x29, 0xe8, 0x4c,
  0xbc, 0x2c, 0x9a, 0x4d, 0x06, 0x44, 0xfd, 0x99, 0xd9, 0xf8, 0x2c, 0xba,
  0x46, 0xf5, 0x56, 0xf2, 0xd1, 0x4e, 0xe9, 0x76, 0xd8, 0x8f, 0x11, 0x7b,
  0x31, 0x61, 0x59, 0x2b, 0x4f, 0x19, 0x7c, 0xa5, 0xb5, 0xa5, 0x05, 0xb2,
  0x46, 0xab, 0x11, 0x07, 0x1d, 0xb5, 0x92, 0x24, 0x61, 0x31, 0x01, 0x05,
  0xb2, 0x39, 0x89, 0x0c, 0x0e, 0x5e, 0xaa, 0xb6, 0x30, 0x2c, 0x75, 0x10,
  0xf8, 0x0d, 0x7c, 0x31, 0x3c, 0xb0, 0xd5, 0x53, 0xf4, 0x4f, 0x91, 0xc4,
  0xc9, 0x8f, 0x0b, 0x06, 0x9a, 0x77, 0x42, 0xe6, 0xf7, 0x04, 0x30, 0xcd,
  0x1e, 0xc6, 0xb7, 0x7e, 0xfc, 0xc7, 0xb6, 0xda, 0x93, 0x91, 0x1d, 0xea,
  0x34, 0x4d, 0x53, 0x13, 0x36, 0xf9, 0x41, 0xa4, 0x22, 0x5b, 0xdc, 0xe5,
  0xe1, 0xfa, 0x27, 0x05, 0x49, 0xee, 0x29, 0x07, 0x7d, 0xe0, 0x40, 0x1a,
  0x41, 0x21, 0xa1, 0x80, 0x8f, 0x0c, 0x2e, 0xf2, 0x3f, 0x40, 0xd6, 0x25,
  0xce, 0xa5, 0x5c, 0x86, 0x4f, 0x72, 0xfd, 0xac, 0x58, 0x5e, 0x27, 0x7e,
  0x62, 0x78, 0x0e, 0x3c, 0xb9, 0x45, 0x21, 0x88, 0x05, 0x8d, 0x83, 0x93,
  0x2f, 0x65, 0x19, 0xb7, 0x4c, 0x37, 0x25, 0x20, 0x92, 0x2a, 0xae, 0x23,
  0x94, 0xa8, 0x9b, 0x99, 0xe7, 0x0f, 0x8e, 0xee, 0xf1, 0xc2, 0x81, 0xd3,
  0xdd, 0x82, 0x96, 0xcb, 0xf8, 0x55, 0xa8, 0x82, 0xed, 0xfb, 0x78, 0xe3,
  0x73, 0x81, 0xa8, 0x64, 0x85, 0x54, 0xaa, 0x79, 0xef, 0x5e, 0x32, 0xff,
  0x97, 0x3c, 0xb0, 0xd3, 0xa5, 0xd8, 0x37, 0x25, 0xc8, 0x14, 0x8b, 0x07,
  0xec, 0x8f, 0x8c, 0x0d, 0xb5, 0x72, 0xa3, 0x52, 0x51, 0x83, 0x42, 0x7d,
  0x0c, 0x12, 0xad, 0xf6, 0x01, 0x81, 0xc7, 0xa1, 0x20, 0x9e, 0x0c, 0xe8,
  0x27, 0xb2, 0x83, 0x38, 0xfc, 0x87, 0x8a, 0x0b, 0x7c, 0x95, 0x1c, 0x0d,
  0x35, 0x33, 0xfe, 0xd4, 0x33, 0xa5, 0x22, 0x13, 0x7b, 0xf1, 0x0f, 0xeb,
  0x16, 0x08, 0xab, 0xe1, 0x03, 0x04, 0x4a, 0x97, 0x9f, 0xce, 0x1d, 0x36,
  0x38, 0x91, 0x38, 0xb4, 0x02, 0xaf, 0xba, 0xff, 0xc2, 0x5c, 0x3e, 0x0e,
  0x4d, 0xc1, 0x23, 0xc0, 0xb9, 0xc3, 0x8d, 0x82, 0x97, 0x15, 0x4c, 0x15,
  0xaa, 0x9e, 0x74, 0xd4, 0x09, 0x85, 0x31, 0x82, 0x01, 0x9e, 0x30, 0x82,
  0x01, 0x9a, 0x02, 0x01, 0x01, 0x30, 0x13, 0x30, 0x0e, 0x31, 0x0c, 0x30,
  0x0a, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x03, 0x6e, 0x69, 0x69, 0x02,
  0x01, 0x01, 0x30, 0x0c, 0x06, 0x08, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
  0x02, 0x05, 0x05, 0x00, 0xa0, 0x81, 0xdf, 0x30, 0x11, 0x06, 0x0a, 0x60,
  0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x09, 0x02, 0x31, 0x03, 0x13,
  0x01, 0x33, 0x30, 0x11, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8,
  0x45, 0x01, 0x09, 0x03, 0x31, 0x03, 0x13, 0x01, 0x30, 0x30, 0x18, 0x06,
  0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x03, 0x31, 0x0b,
  0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0x30,
  0x1f, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x04,
  0x31, 0x12, 0x04, 0x10, 0xaa, 0x41, 0x9b, 0xe1, 0x01, 0x3c, 0xe0, 0xc0,
  0x94, 0x74, 0x46, 0xe3, 0x09, 0x93, 0xce, 0x43, 0x30, 0x20, 0x06, 0x0a,
  0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x09, 0x05, 0x31, 0x12,
  0x04, 0x10, 0x38, 0x8e, 0x72, 0x76, 0x0d, 0xd6, 0x0e, 0xa6, 0x40, 0xc2,
  0x52, 0x7c, 0x78, 0xfc, 0xf8, 0xe7, 0x30, 0x20, 0x06, 0x0a, 0x60, 0x86,
  0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x09, 0x06, 0x31, 0x12, 0x04, 0x10,
  0x96, 0xc2, 0x5b, 0x7e, 0x3a, 0x75, 0xd8, 0xca, 0x14, 0x4d, 0xce, 0x5e,
  0x13, 0x02, 0x32, 0x26, 0x30, 0x38, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01,
  0x86, 0xf8, 0x45, 0x01, 0x09, 0x07, 0x31, 0x2a, 0x13, 0x28, 0x33, 0x32,
  0x39, 0x43, 0x36, 0x31, 0x30, 0x33, 0x31, 0x37, 0x45, 0x44, 0x33, 0x30,
  0x33, 0x37, 0x36, 0x34, 0x38, 0x35, 0x46, 0x42, 0x38, 0x42, 0x38, 0x46,
  0x30, 0x45, 0x35, 0x45, 0x32, 0x30, 0x38, 0x39, 0x38, 0x43, 0x39, 0x36,
  0x45, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
  0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x81, 0x80, 0xac, 0x9d, 0xf9, 0x32,
  0xdd, 0xb5, 0x58, 0x50, 0x43, 0x74, 0xa6, 0x55, 0xbb, 0xc4, 0xe0, 0x99,
  0xde, 0x2b, 0xaa, 0x50, 0x05, 0x55, 0x15, 0x46, 0x05, 0x52, 0x2f, 0x9f,
  0xf6, 0x3e, 0x99, 0xf9, 0x08, 0xc1, 0xdb, 0x06, 0x7b, 0x02, 0x9f, 0x94,
  0xb6, 0x7a, 0xda, 0x34, 0x8e, 0xe2, 0x32, 0x23, 0x21, 0xf5, 0xcb, 0xac,
  0x37, 0x6c, 0xc4, 0xac, 0x71, 0x61, 0x67, 0x68, 0xc6, 0x8a, 0xef, 0xe1,
  0x1e, 0x6c, 0xc8, 0x22, 0x81, 0x09, 0x0d, 0x09, 0x18, 0x4f, 0xd2, 0x0e,
  0xd8, 0x4e, 0x96, 0x6a, 0x3f, 0x4f, 0x87, 0xea, 0xe8, 0xc5, 0xc9, 0x99,
  0xa4, 0x66, 0x4b, 0x73, 0xd9, 0x0d, 0xc9, 0x9e, 0x98, 0xeb, 0x12, 0xe9,
  0xf5, 0xae, 0x7c, 0x1d, 0x76, 0x9e, 0x6b, 0x72, 0xf3, 0x79, 0xfa, 0x34,
  0x4a, 0xf1, 0x34, 0x28, 0x13, 0xc8, 0x9f, 0x6c, 0xd2, 0x3a, 0xd7, 0xf7,
  0x4f, 0x9e, 0x80, 0x8f
};
static unsigned int scep_reply_len = 1348;

static unsigned char scep_ca[] = {
  0x30, 0x82, 0x01, 0xf5, 0x30, 0x82, 0x01, 0x5e, 0xa0, 0x03, 0x02, 0x01,
  0x02, 0x02, 0x01, 0x01, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
  0xf7, 0x0d, 0x01, 0x01, 0x04, 0x05, 0x00, 0x30, 0x0e, 0x31, 0x0c, 0x30,
  0x0a, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x03, 0x6e, 0x69, 0x69, 0x30,
  0x1e, 0x17, 0x0d, 0x30, 0x39, 0x30, 0x32, 0x30, 0x35, 0x32, 0x33, 0x33,
  0x32, 0x32, 0x35, 0x5a, 0x17, 0x0d, 0x31, 0x32, 0x30, 0x32, 0x30, 0x35,
  0x32, 0x33, 0x33, 0x32, 0x32, 0x35, 0x5a, 0x30, 0x0e, 0x31, 0x0c, 0x30,
  0x0a, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x03, 0x6e, 0x69, 0x69, 0x30,
  0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
  0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89,
  0x02, 0x81, 0x81, 0x00, 0xeb, 0x64, 0x96, 0xb0, 0x2b, 0xb2, 0xaf, 0xd9,
  0x06, 0xdf, 0xaf, 0x17, 0xd5, 0xeb, 0xec, 0x2f, 0x62, 0x2b, 0xaa, 0xda,
  0x60, 0xb9, 0xc5, 0x45, 0xd7, 0x6a, 0x1b, 0x7c, 0xfc, 0x3a, 0x62, 0xe7,
  0xaa, 0x85, 0x90, 0x16, 0x67, 0xe0, 0xc4, 0x40, 0xd4, 0x3e, 0x0d, 0xec,
  0x75, 0x38, 0x26, 0xf8, 0x84, 0x4e, 0x69, 0xcc, 0xba, 0x7d, 0x11, 0x7e,
  0xbb, 0xf0, 0x7b, 0xf9, 0x4f, 0x08, 0x47, 0xc4, 0x97, 0xa9, 0x98, 0xc6,
  0x58, 0x1c, 0x84, 0xc0, 0x98, 0xc0, 0x52, 0x3f, 0x85, 0x56, 0x2e, 0x99,
  0x76, 0xbd, 0x1e, 0xbc, 0x7a, 0xdc, 0xa9, 0xac, 0xcf, 0x87, 0x86, 0xf4,
  0x7e, 0xb1, 0x81, 0xcd, 0x78, 0xc7, 0x22, 0xe1, 0xaa, 0x00, 0x17, 0xbc,
  0xfa, 0x20, 0x36, 0x14, 0x7e, 0x0e, 0x82, 0x7c, 0x8c, 0xd5, 0x6a, 0x13,
  0xb4, 0xdf, 0x62, 0x6d, 0x04, 0x3d, 0xf9, 0x34, 0x62, 0x9d, 0xcf, 0x63,
  0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x63, 0x30, 0x61, 0x30, 0x0f, 0x06,
  0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01,
  0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff,
  0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xb8, 0x05, 0x16, 0x63, 0x98,
  0x94, 0x51, 0x41, 0x5c, 0x09, 0xfe, 0x87, 0xd0, 0x7e, 0x74, 0x0c, 0x8a,
  0x3e, 0x0c, 0x6a, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16,
  0x04, 0x14, 0xb8, 0x05, 0x16, 0x63, 0x98, 0x94, 0x51, 0x41, 0x5c, 0x09,
  0xfe, 0x87, 0xd0, 0x7e, 0x74, 0x0c, 0x8a, 0x3e, 0x0c, 0x6a, 0x30, 0x0d,
  0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x04, 0x05,
  0x00, 0x03, 0x81, 0x81, 0x00, 0x7f, 0xa3, 0x4f, 0x48, 0x59, 0x53, 0x82,
  0x31, 0xa9, 0xcd, 0x7a, 0x6f, 0x30, 0x7b, 0x50, 0x81, 0xab, 0xe9, 0x4e,
  0xcd, 0xc2, 0x73, 0x82, 0xd9, 0xac, 0xcd, 0x72, 0x2c, 0x3f, 0x70, 0x1e,
  0xdf, 0xd8, 0xb5, 0x17, 0xb1, 0x09, 0x85, 0xd6, 0x0a, 0xb8, 0x17, 0x18,
  0x53, 0xde, 0xd1, 0x12, 0xe2, 0x50, 0x5a, 0x99, 0xe0, 0xa9, 0xb6, 0x76,
  0x61, 0x38, 0xaf, 0x66, 0x85, 0xac, 0x24, 0xa0, 0x2b, 0xae, 0x34, 0xd3,
  0x1d, 0xa8, 0xf9, 0x73, 0xfd, 0x41, 0x30, 0x77, 0x50, 0xbc, 0xbd, 0xd8,
  0x0c, 0xe2, 0x5a, 0x1f, 0xa6, 0x64, 0xd8, 0x8f, 0x06, 0x65, 0xf5, 0xc7,
  0x06, 0xee, 0x13, 0x26, 0xed, 0x7b, 0xd3, 0xdc, 0xc3, 0x77, 0x7a, 0x13,
  0xd2, 0xf6, 0x9c, 0xc4, 0x45, 0xef, 0xdc, 0x24, 0x2e, 0x5d, 0xee, 0x56,
  0x39, 0xaf, 0x4d, 0xca, 0x6b, 0x1d, 0x73, 0x78, 0x8c, 0xef, 0xe1, 0x82,
  0xb3
};
static unsigned int scep_ca_len = 505;

#include <fcntl.h>
__unused static inline void write_data(const char * path, CFDataRef data)
{
    int data_file = open(path, O_CREAT|O_WRONLY|O_TRUNC, 0644);
    write(data_file, CFDataGetBytePtr(data), CFDataGetLength(data));
    close(data_file);
}

/* Test basic add delete update copy matching stuff. */
static void tests(void)
{
    CFArrayRef certs = NULL;
    CFDataRef message = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
        certsOnlyMsg, sizeof(certsOnlyMsg), kCFAllocatorNull);
    ok(certs = SecCMSCertificatesOnlyMessageCopyCertificates(message),
        "SecCMSCertificatesOnlyMessageCopyCertificates");
    is(CFArrayGetCount(certs), 1, "certificate count is 1");
    CFReleaseNull(message);

    CFMutableArrayRef more_certs = CFArrayCreateMutableCopy(kCFAllocatorDefault, 0, certs);
    CFReleaseNull(certs);
    SecCertificateRef another_cert = NULL;
    isnt(another_cert = SecCertificateCreateWithBytes(NULL, _c1, sizeof(_c1)),
            NULL, "create certificate");

    ok(message = SecCMSCreateCertificatesOnlyMessageIAP(another_cert), "create iAP specific cert only message");
    ok(certs = SecCMSCertificatesOnlyMessageCopyCertificates(message),
        "SecCMSCertificatesOnlyMessageCopyCertificates");
    is(CFArrayGetCount(certs), 1, "certificate count is 1");
    CFReleaseNull(certs);
    CFReleaseNull(message);

    CFArrayAppendValue(more_certs, another_cert);
    CFReleaseSafe(another_cert);
    ok(message = SecCMSCreateCertificatesOnlyMessage(more_certs), "create cert only message");
    CFReleaseNull(message);
    CFReleaseNull(more_certs);

    message = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
        openssl_generated_cms, sizeof(openssl_generated_cms), kCFAllocatorNull);
    CFDataRef attached = NULL;
    ok_status(SecCMSVerify(message, NULL, NULL, NULL, &attached), "just get contents");
    isnt(attached, NULL, "got attached content");
    static const char msg[] = "whatever man";
    ok((size_t)CFDataGetLength(attached) == strlen(msg), "same length");
    ok(!memcmp(msg, CFDataGetBytePtr(attached), strlen(msg)), "same data");
    CFReleaseNull(attached);
    ok_status(SecCMSDecodeSignedData(message, &attached, NULL), "decode");
    isnt(attached, NULL, "got attached content");
    ok((size_t)CFDataGetLength(attached) == strlen(msg), "same length");
    ok(!memcmp(msg, CFDataGetBytePtr(attached), strlen(msg)), "same data");
    CFReleaseNull(attached);
    SecPolicyRef policy = SecPolicyCreateBasicX509();
    is_status(SecCMSVerify(message, NULL, policy, NULL, &attached), errSecAuthFailed, "let library verify");
    SecTrustRef trust = NULL;
    ok_status(SecCMSVerify(message, NULL, policy, &trust, NULL), "verify self");
    isnt(NULL, trust, "got trustref");
    CFReleaseNull(trust);
    CFReleaseNull(policy);
    CFReleaseNull(message);

    CFDataRef detached =  CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
        _codedir_bytes, _codedir_len, kCFAllocatorNull);
    message = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
        fk_cms, fk_cms_len, kCFAllocatorNull);
    policy = SecPolicyCreateiPhoneApplicationSigning();
    is_status(SecCMSVerify(message, detached, policy, &trust, NULL), errSecAuthFailed, "get trust");
    is(trust, NULL, "no trustref: digest was wrong");

    CFReleaseNull(trust);
    CFReleaseNull(message);
    CFReleaseNull(detached);

    // @@@ add a test that coalesces multiple signed attributes with the same oid
    message = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
        fk_cms, fk_cms_len, kCFAllocatorNull);
    CFDictionaryRef attrs = NULL;
    ok_status(SecCMSVerifyCopyDataAndAttributes(message, NULL, NULL, NULL, NULL, &attrs), "get trust");
    is(CFDictionaryGetCount(attrs), 5, "4 signed attributes + cooked date");
    //CFShow(attrs);
    CFDateRef signing_date = CFDictionaryGetValue(attrs, kSecCMSSignDate);
    ok(signing_date, "should have signing date");
    is(CFGetTypeID(signing_date), CFDateGetTypeID(), "attribute is CFDateRef");
    //CFShow(signing_date);

    CFReleaseNull(message);
    CFReleaseNull(attrs);

    SecCertificateRef cert = NULL;
    SecKeyRef privKey = NULL;
    SecIdentityRef identity = NULL;

    isnt(cert = SecCertificateCreateWithBytes(NULL, _c1, sizeof(_c1)),
            NULL, "create certificate");
    CFDataRef keyData = CFDataCreate(NULL, _k1, sizeof(_k1));
    CFMutableDictionaryRef keyAttrs = CFDictionaryCreateMutable(NULL, 2, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
    CFDictionaryAddValue(keyAttrs, kSecAttrKeyType, kSecAttrKeyTypeRSA);
    CFDictionaryAddValue(keyAttrs, kSecAttrKeyClass, kSecAttrKeyClassPrivate);
    isnt(privKey = SecKeyCreateWithData(keyData, keyAttrs, NULL), NULL, "Create private key");
    isnt(identity = SecIdentityCreate(NULL, cert, privKey),
            NULL, "create identity");
    CFReleaseNull(privKey);
    CFReleaseNull(keyData);
    CFReleaseNull(keyAttrs);

    const uint8_t test[] = "hoi joh";
    CFDataRef test_data = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault, (unsigned char *)test, sizeof(test), kCFAllocatorNull);
    /* const uint8_t oid_bytes[] = { 42, 134, 72, 134, 247, 13, 1, 9, 20 }; */
    /* use an unknown (to us) oid: */
    const uint8_t oid_bytes[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x3F, 0x2A, 0x06 };
    CFDataRef oid_data = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault, (unsigned char *)oid_bytes, sizeof(oid_bytes), kCFAllocatorNull);
    const uint8_t value_bytes[] = { 4, 7, 'h','o','i',' ','j','o','h' };
    CFDataRef value_data = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault, (unsigned char *)value_bytes, sizeof(value_bytes), kCFAllocatorNull);
    const void *oid[] = { oid_data };
    const void *value[] = { value_data };
    CFDictionaryRef simple_attr = CFDictionaryCreate(kCFAllocatorDefault, oid, value, 1, NULL, NULL);
    CFMutableDataRef message_data = CFDataCreateMutable(kCFAllocatorDefault, 0);
    ok_status(SecCMSSignDataAndAttributes(identity, test_data, false, message_data, simple_attr), "encode message");
    ok_status(SecCMSVerifyCopyDataAndAttributes(message_data, NULL, policy, &trust, &message, &attrs), "decode message again");
    CFReleaseNull(trust);
    is(CFDictionaryGetCount(attrs), 6, "5 signed attributes + cooked date");
    isnt(CFDictionaryGetValue(attrs, kSecCMSSignDate), NULL, "failed to get cooked date from attributes");
    isnt(CFDictionaryGetValue(attrs, kSecCMSAllCerts), NULL, "failed to get cert(s) from attributes");
    isnt(CFDictionaryGetValue(attrs, oid_data), NULL, "failed to get user-defined attribute");
    CFReleaseNull(attrs);
    is(CFEqual(message, test_data), true, "contents preserved");
    CFReleaseNull(message);
    CFDataSetLength(message_data, 0);
	CFDataRef empty_data = CFDataCreate(kCFAllocatorDefault, NULL, 0);
	ok_status(SecCMSCreateSignedData(identity, empty_data, NULL, simple_attr, message_data), "Create signed data with no content");
	CFRelease(empty_data);
	//write_data("/var/tmp/empty_msg_with_attrs", message_data);
    CFDataSetLength(message_data, 0);
    ok_status(SecCMSCreateSignedData(identity, NULL, NULL, simple_attr, message_data), "Create signed data with no content");
    uint8_t hash_data[CC_SHA1_DIGEST_LENGTH];
    CCDigest(kCCDigestSHA1, test, sizeof(test), hash_data);
    CFDataRef hash_cfdata = CFDataCreateWithBytesNoCopy(NULL, hash_data, sizeof(hash_data), kCFAllocatorNull);
    CFDataSetLength(message_data, 0);
    ok_status(SecCMSSignDigestAndAttributes(identity, hash_cfdata, message_data, simple_attr), "encode message");
	//write_data("/var/tmp/sign_digest", message_data);
    CFReleaseNull(hash_cfdata);
    ok_status(SecCMSVerifyCopyDataAndAttributes(message_data, test_data, policy, &trust, &message, &attrs), "decode message again");
    CFReleaseNull(attrs);
    CFReleaseNull(message);
    CFReleaseNull(trust);
    CFReleaseNull(oid_data);
    CFReleaseNull(value_data);
    CFReleaseNull(simple_attr);

    CFDataSetLength(message_data, 0);
#if TARGET_OS_IPHONE
    /* macOS never supported signing with MD5 */
    CFMutableDictionaryRef params = CFDictionaryCreateMutable(kCFAllocatorDefault, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
    CFDictionarySetValue(params, kSecCMSSignHashAlgorithm, kSecCMSHashingAlgorithmMD5);
    is(SecCMSCreateSignedData(identity, NULL, params, NULL, message_data), errSecParam, "signing md5 message should fail");
    CFReleaseNull(params);
#endif

    message = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
        mobileconfig_with_long_issuer, sizeof(mobileconfig_with_long_issuer),
        kCFAllocatorNull);
    ok_status(SecCMSVerify(message, NULL, policy, &trust, NULL), "verify profile");
    CFReleaseNull(message);
    SecTrustResultType result;
    ok_status(SecTrustEvaluate(trust, &result), "evaluate trust");
    is_status(result, kSecTrustResultRecoverableTrustFailure, "missing intermediate");
    CFReleaseNull(trust);

// MARK: -
// MARK: SCEP test

    SecCertificateRef scep_ca_cert = SecCertificateCreateWithBytes(kCFAllocatorDefault, scep_ca, scep_ca_len);
    ok(scep_ca_cert, "got scep_ca_cert");

    CFDataRef scep_reply_cfdata = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
        scep_reply, scep_reply_len, kCFAllocatorNull);
    CFArrayRef additional_certificates = CFArrayCreate(kCFAllocatorDefault, (const void **)&scep_ca_cert, 1, &kCFTypeArrayCallBacks);
    is_status(SecCMSVerifySignedData(scep_reply_cfdata, NULL, policy, &trust, NULL, NULL, NULL), errSecAuthFailed, "decode scep message (without cert, none passed in)");
    CFReleaseNull(trust);
    ok_status(SecCMSVerifySignedData(scep_reply_cfdata, NULL, policy, &trust, additional_certificates, NULL, NULL), "decode scep message (without cert, signer passed in)");
    CFReleaseNull(scep_reply_cfdata);
    CFReleaseNull(additional_certificates);

    CFReleaseNull(trust);
    CFReleaseNull(policy);

    CFDataSetLength(message_data, 0);
    CFArrayRef recipients = CFArrayCreate(kCFAllocatorDefault, (const void **)&cert, 1, &kCFTypeArrayCallBacks);
    ok_status(SecCMSCreateEnvelopedData(recipients, NULL, test_data, message_data), "encrypt for recip");
    CFReleaseNull(recipients);
    CFDataRef enc_data = CFDataCreateCopy(kCFAllocatorDefault, message_data);
    CFDataSetLength(message_data, 0);

    const void *keys_identity[] = { kSecValueRef };
    const void *values_identity[] = { identity };
    CFDictionaryRef identity_add = CFDictionaryCreate(NULL, keys_identity, values_identity,
        array_size(keys_identity), NULL, NULL);
    ok_status(SecItemAdd(identity_add, NULL), "add identity ref");

#if TARGET_OS_IPHONE
    ok_status(SecCMSDecryptEnvelopedData(enc_data, message_data, NULL), "decrypt message");
#else
    /* @@@ There's something about the way that SecItemAdd adds the identity to the keychain on macOS
     * that means that the private key is missing. */
    is_status(SecCMSDecryptEnvelopedData(enc_data, message_data, NULL), errSecDecode, "decrypt message");
#endif

    ok_status(SecItemDelete(identity_add), "delete identity ref");

    CFReleaseNull(identity_add);

    CFReleaseNull(enc_data);
    CFReleaseNull(cert);
    CFReleaseNull(test_data);

    CFReleaseNull(identity);
    CFReleaseNull(message_data);
}

/* subject:/C=US/ST=California/L=Cupertino/O=Apple Inc./OU=Security Engineering/CN=Neptune */
/* issuer :/C=US/ST=California/L=Cupertino/O=Apple Inc./OU=Security Engineering/CN=Neptune */
/* X509v3 Key Usage: Certificate Sign, CRL Sign */
uint8_t _cacert[964]={
    0x30,0x82,0x03,0xC0,0x30,0x82,0x02,0xA8,0xA0,0x03,0x02,0x01,0x02,0x02,0x09,0x00,
    0xCD,0xDF,0x76,0xED,0x2A,0x08,0xF1,0x74,0x30,0x0D,0x06,0x09,0x2A,0x86,0x48,0x86,
    0xF7,0x0D,0x01,0x01,0x0B,0x05,0x00,0x30,0x7C,0x31,0x0B,0x30,0x09,0x06,0x03,0x55,
    0x04,0x06,0x13,0x02,0x55,0x53,0x31,0x13,0x30,0x11,0x06,0x03,0x55,0x04,0x08,0x0C,
    0x0A,0x43,0x61,0x6C,0x69,0x66,0x6F,0x72,0x6E,0x69,0x61,0x31,0x12,0x30,0x10,0x06,
    0x03,0x55,0x04,0x07,0x0C,0x09,0x43,0x75,0x70,0x65,0x72,0x74,0x69,0x6E,0x6F,0x31,
    0x13,0x30,0x11,0x06,0x03,0x55,0x04,0x0A,0x0C,0x0A,0x41,0x70,0x70,0x6C,0x65,0x20,
    0x49,0x6E,0x63,0x2E,0x31,0x1D,0x30,0x1B,0x06,0x03,0x55,0x04,0x0B,0x0C,0x14,0x53,
    0x65,0x63,0x75,0x72,0x69,0x74,0x79,0x20,0x45,0x6E,0x67,0x69,0x6E,0x65,0x65,0x72,
    0x69,0x6E,0x67,0x31,0x10,0x30,0x0E,0x06,0x03,0x55,0x04,0x03,0x0C,0x07,0x4E,0x65,
    0x70,0x74,0x75,0x6E,0x65,0x30,0x1E,0x17,0x0D,0x31,0x38,0x30,0x32,0x32,0x37,0x31,
    0x39,0x35,0x39,0x32,0x31,0x5A,0x17,0x0D,0x32,0x38,0x30,0x32,0x32,0x35,0x31,0x39,
    0x35,0x39,0x32,0x31,0x5A,0x30,0x7C,0x31,0x0B,0x30,0x09,0x06,0x03,0x55,0x04,0x06,
    0x13,0x02,0x55,0x53,0x31,0x13,0x30,0x11,0x06,0x03,0x55,0x04,0x08,0x0C,0x0A,0x43,
    0x61,0x6C,0x69,0x66,0x6F,0x72,0x6E,0x69,0x61,0x31,0x12,0x30,0x10,0x06,0x03,0x55,
    0x04,0x07,0x0C,0x09,0x43,0x75,0x70,0x65,0x72,0x74,0x69,0x6E,0x6F,0x31,0x13,0x30,
    0x11,0x06,0x03,0x55,0x04,0x0A,0x0C,0x0A,0x41,0x70,0x70,0x6C,0x65,0x20,0x49,0x6E,
    0x63,0x2E,0x31,0x1D,0x30,0x1B,0x06,0x03,0x55,0x04,0x0B,0x0C,0x14,0x53,0x65,0x63,
    0x75,0x72,0x69,0x74,0x79,0x20,0x45,0x6E,0x67,0x69,0x6E,0x65,0x65,0x72,0x69,0x6E,
    0x67,0x31,0x10,0x30,0x0E,0x06,0x03,0x55,0x04,0x03,0x0C,0x07,0x4E,0x65,0x70,0x74,
    0x75,0x6E,0x65,0x30,0x82,0x01,0x22,0x30,0x0D,0x06,0x09,0x2A,0x86,0x48,0x86,0xF7,
    0x0D,0x01,0x01,0x01,0x05,0x00,0x03,0x82,0x01,0x0F,0x00,0x30,0x82,0x01,0x0A,0x02,
    0x82,0x01,0x01,0x00,0xD6,0xFA,0x29,0x49,0x27,0x13,0x4E,0x50,0x00,0x5E,0xEB,0x0E,
    0xD3,0x33,0x30,0xC6,0x47,0x76,0x9C,0xBA,0x81,0x38,0xB5,0x91,0x54,0xB2,0x28,0x95,
    0x5E,0xFA,0x9E,0xC3,0x7A,0xDC,0x90,0xA4,0xDD,0xB3,0xB4,0x3F,0x95,0x1A,0x3B,0x1A,
    0x17,0xC2,0xA2,0xDC,0x8E,0x67,0xBC,0x3D,0x28,0x53,0xC0,0xDE,0x8C,0xED,0x1F,0x70,
    0xC3,0x96,0x5C,0x46,0x90,0xA3,0xE4,0xC3,0xEC,0x78,0xBD,0x88,0x6B,0x3B,0xE3,0xC3,
    0x78,0xE3,0xA4,0x9F,0x6E,0xAE,0x67,0x0A,0xC8,0xAC,0xE3,0xD9,0xCB,0x2C,0xDE,0xB2,
    0x2A,0x72,0x2F,0x91,0x81,0x99,0xED,0xC1,0x60,0x82,0x1E,0xA3,0xE0,0x79,0x20,0x8B,
    0x7F,0xDC,0x89,0xAA,0x13,0x3B,0x7C,0x61,0x4E,0xA4,0xF1,0x8D,0xA3,0x07,0x45,0xAB,
    0x5E,0x1B,0xDB,0x12,0x34,0x24,0xF3,0x0C,0xC8,0x09,0x00,0xF1,0x02,0x9A,0x40,0xDF,
    0x2C,0xF3,0xB6,0x92,0x1E,0x5F,0x1B,0xAA,0x25,0x11,0x51,0x8C,0x9C,0x5F,0x14,0xD8,
    0x5F,0x3C,0xE8,0x94,0xC0,0xDF,0xF8,0xCF,0x72,0xE4,0xD6,0x80,0x0A,0xB1,0xFC,0x50,
    0x27,0xE5,0xB4,0xDC,0xE4,0xD8,0x8F,0xA2,0x2B,0x06,0xC5,0x74,0xC8,0x52,0x3A,0x3A,
    0x2D,0x21,0xC9,0x6E,0x48,0x1E,0xC8,0x90,0x82,0x54,0xB9,0x41,0x0C,0xBB,0x24,0xBB,
    0x7E,0x4A,0xCF,0x4F,0xBA,0xA1,0xA7,0xAA,0x67,0x1C,0xA2,0x3F,0x8B,0xB8,0xDE,0x68,
    0x2B,0x6E,0x5C,0xCE,0xD6,0xD0,0xC7,0xE5,0x13,0xE5,0x85,0x96,0xD1,0xCD,0xC2,0x77,
    0xC2,0x84,0xE0,0x78,0xE8,0x5C,0x81,0x33,0xA3,0xA1,0xAD,0xDE,0xBB,0x55,0xA3,0x49,
    0x89,0x55,0xC7,0x35,0x02,0x03,0x01,0x00,0x01,0xA3,0x45,0x30,0x43,0x30,0x12,0x06,
    0x03,0x55,0x1D,0x13,0x01,0x01,0xFF,0x04,0x08,0x30,0x06,0x01,0x01,0xFF,0x02,0x01,
    0x00,0x30,0x0E,0x06,0x03,0x55,0x1D,0x0F,0x01,0x01,0xFF,0x04,0x04,0x03,0x02,0x01,
    0x06,0x30,0x1D,0x06,0x03,0x55,0x1D,0x0E,0x04,0x16,0x04,0x14,0x88,0x51,0xE5,0x13,
    0xF5,0x10,0xCF,0xA8,0x79,0xB1,0x20,0x89,0xA4,0xBF,0x95,0xD4,0xB3,0x41,0xC8,0x2B,
    0x30,0x0D,0x06,0x09,0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x0B,0x05,0x00,0x03,
    0x82,0x01,0x01,0x00,0x44,0x82,0x0F,0x82,0x37,0x2D,0xA8,0x84,0xF1,0xC5,0x11,0x5B,
    0x42,0xCD,0x55,0xC1,0x61,0xB2,0x4B,0x63,0xCE,0x8C,0xFE,0x80,0x19,0x56,0x7B,0x7C,
    0x73,0xA4,0xE7,0xA1,0x01,0xD6,0xF7,0x0E,0x9A,0xA3,0x40,0x6F,0x12,0x78,0xCE,0x4F,
    0x94,0xE9,0xC7,0x31,0x81,0x0B,0x4B,0x67,0xFF,0x6B,0xD4,0xFE,0x51,0x86,0xA3,0xD0,
    0xA2,0xEE,0x1C,0xEB,0xED,0x72,0xF9,0x76,0x9B,0x0F,0xCC,0xF0,0x20,0xE0,0x7B,0x05,
    0x39,0xDA,0x5B,0xA4,0x1F,0xD1,0x6F,0xD9,0xB0,0x5D,0x98,0xE6,0xC5,0x2B,0x80,0x0E,
    0x6C,0x2A,0x2A,0xEE,0xD2,0x1D,0xF5,0xB8,0x9A,0x1A,0x2E,0x23,0xA8,0x1E,0xFF,0xF8,
    0x90,0x84,0x4C,0x7B,0xE1,0x64,0xFB,0xD3,0x11,0x53,0x96,0x55,0x25,0xD3,0x23,0xB5,
    0x8E,0x29,0xF4,0x16,0x60,0x64,0xD1,0x52,0xF3,0x0E,0xB8,0x43,0xE3,0x72,0xE9,0xDC,
    0x33,0xA4,0x39,0xDA,0xB9,0xD0,0x48,0x5C,0x89,0xF3,0x0C,0x7C,0x8F,0xE9,0x4A,0x73,
    0x54,0x14,0x9B,0xB4,0xCF,0x3D,0xF5,0x41,0xC0,0xD8,0x01,0xB5,0x64,0x45,0x65,0x7D,
    0x77,0xA2,0x4C,0x1A,0x97,0x29,0x1A,0xD9,0x32,0x4F,0x81,0xDD,0xF9,0x30,0xEF,0xEF,
    0xA9,0x6C,0x87,0x9E,0x6B,0x1A,0xF1,0x52,0x98,0x5B,0xAC,0xF5,0x7B,0x24,0x2D,0xFB,
    0x28,0x53,0x63,0x95,0xA2,0x66,0xE7,0xE3,0x04,0xD7,0xEB,0x95,0x91,0x5E,0x24,0xE3,
    0x28,0x60,0x43,0xBF,0x8B,0x11,0xCA,0xC1,0xA6,0xC3,0xF9,0x50,0x94,0xEE,0x2D,0xCC,
    0x0D,0xE3,0x65,0xD9,0xDD,0xD5,0xD6,0x85,0x35,0x31,0xBD,0x10,0x80,0xF9,0xEB,0xEA,
    0x2E,0xA2,0x80,0x76,
};

static void test_key_usage_enveloped_data(void) {
    SecCertificateRef cacert = SecCertificateCreateWithBytes(NULL, _cacert, sizeof(_cacert));
    CFMutableDataRef message_data = CFDataCreateMutable(kCFAllocatorDefault, 0);
    const uint8_t test[] = "hoi joh";
    CFDataRef test_data = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault, (unsigned char *)test, sizeof(test), kCFAllocatorNull);
    CFArrayRef recipients = CFArrayCreate(kCFAllocatorDefault, (const void **)&cacert, 1, &kCFTypeArrayCallBacks);
    require_action(cacert && message_data && test_data && recipients, out, fail("failed to create necessary data for test"));

    ok_status(SecCMSCreateEnvelopedData(recipients, NULL, test_data, message_data), "encrypt for bad key usage recip");

out:
    CFReleaseNull(cacert);
    CFReleaseNull(message_data);
    CFReleaseNull(test_data);
    CFReleaseNull(recipients);
}

const uint8_t _sixty_seconds_message[] = {
      0x30, 0x80, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0, 0x80, 0x30,
      0x80, 0x02, 0x01, 0x01, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05,
      0x00, 0x30, 0x80, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x80,
      0x24, 0x80, 0x04, 0x08, 0x68, 0x6f, 0x69, 0x20, 0x6a, 0x6f, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0xa0, 0x82, 0x02, 0xe4, 0x30, 0x82, 0x02, 0xe0, 0x30, 0x82, 0x01, 0xc8, 0xa0, 0x03,
      0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
      0x01, 0x01, 0x05, 0x30, 0x32, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x07,
      0x70, 0x6c, 0x75, 0x74, 0x6f, 0x43, 0x41, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x09, 0x2a, 0x86, 0x48,
      0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x0c, 0x0f, 0x70, 0x6c, 0x75, 0x74, 0x6f, 0x40, 0x70, 0x6c,
      0x75, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x35, 0x31, 0x32, 0x31,
      0x37, 0x30, 0x30, 0x30, 0x34, 0x32, 0x35, 0x5a, 0x17, 0x0d, 0x30, 0x36, 0x31, 0x32, 0x31, 0x37,
      0x30, 0x30, 0x30, 0x34, 0x32, 0x35, 0x5a, 0x30, 0x37, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55,
      0x04, 0x03, 0x0c, 0x0a, 0x75, 0x72, 0x61, 0x6e, 0x75, 0x73, 0x4c, 0x65, 0x61, 0x66, 0x31, 0x20,
      0x30, 0x1e, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x0c, 0x11, 0x75,
      0x72, 0x61, 0x6e, 0x75, 0x73, 0x40, 0x75, 0x72, 0x61, 0x6e, 0x75, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
      0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
      0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01,
      0x00, 0xa6, 0x82, 0x8e, 0xc6, 0x7e, 0xc9, 0x8c, 0x99, 0x6f, 0xb0, 0x62, 0x32, 0x35, 0xe7, 0xdb,
      0xff, 0x34, 0x84, 0xdc, 0x72, 0xa8, 0xef, 0x22, 0x6f, 0x93, 0x63, 0x64, 0x80, 0x80, 0x5d, 0x50,
      0x7e, 0xb4, 0x2e, 0x1b, 0x93, 0x93, 0x49, 0xca, 0xae, 0xcd, 0x34, 0x44, 0x4b, 0xd7, 0xfa, 0x9f,
      0x3c, 0xfc, 0x9e, 0x65, 0xa9, 0xfb, 0x5e, 0x5d, 0x18, 0xa3, 0xf8, 0xb0, 0x08, 0xac, 0x8f, 0xfd,
      0x03, 0xcb, 0xbd, 0x7f, 0xa0, 0x2a, 0xa6, 0xea, 0xca, 0xa3, 0x24, 0xef, 0x7c, 0xc3, 0xeb, 0x95,
      0xcb, 0x90, 0x3f, 0x5e, 0xde, 0x78, 0xf2, 0x3d, 0x32, 0x72, 0xdb, 0x33, 0x6e, 0x9b, 0x52, 0x9f,
      0x0c, 0x60, 0x4a, 0x24, 0xa1, 0xf6, 0x3b, 0x80, 0xbd, 0xa1, 0xdc, 0x40, 0x03, 0xe7, 0xa0, 0x59,
      0x1f, 0xdb, 0xb4, 0xed, 0x57, 0xdc, 0x74, 0x0d, 0x99, 0x5a, 0x12, 0x74, 0x64, 0xaa, 0xb6, 0xa5,
      0x96, 0x75, 0xf9, 0x42, 0x43, 0xe2, 0x52, 0xc2, 0x57, 0x23, 0x75, 0xd7, 0xa9, 0x4f, 0x07, 0x32,
      0x99, 0xbd, 0x3d, 0x44, 0xbd, 0x04, 0x62, 0xe5, 0xb7, 0x2c, 0x0c, 0x11, 0xc5, 0xb2, 0x2e, 0xc4,
      0x12, 0x1d, 0x7f, 0x42, 0x1e, 0x71, 0xaf, 0x39, 0x2b, 0x78, 0x47, 0x92, 0x23, 0x44, 0xef, 0xe3,
      0xc1, 0x47, 0x69, 0x5a, 0xf1, 0x48, 0xaa, 0x37, 0xa4, 0x94, 0x6b, 0x96, 0xe5, 0x4b, 0xfd, 0x05,
      0xc7, 0x9c, 0xcc, 0x38, 0xd1, 0x47, 0x85, 0x60, 0x7f, 0xef, 0xe9, 0x2e, 0x25, 0x08, 0xf8, 0x7d,
      0x98, 0xdd, 0x6c, 0xeb, 0x4a, 0x32, 0x33, 0x44, 0x0b, 0x61, 0xb3, 0xf9, 0xae, 0x26, 0x41, 0xb5,
      0x38, 0xdb, 0xcf, 0x13, 0x72, 0x23, 0x5b, 0x66, 0x20, 0x86, 0x4d, 0x24, 0xc2, 0xd4, 0x94, 0xde,
      0xe3, 0x24, 0xb7, 0xcd, 0x75, 0x9e, 0x1d, 0x9f, 0xbc, 0xd0, 0x60, 0x34, 0x7d, 0xf8, 0xcb, 0x41,
      0x39, 0x02, 0x03, 0x01, 0x00, 0x01, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
      0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x17, 0xa5, 0x22, 0xed, 0xb8, 0x3e,
      0x1f, 0x11, 0x99, 0xc5, 0xba, 0x28, 0x3e, 0x7e, 0xa6, 0xeb, 0x02, 0x81, 0x06, 0xa1, 0xc6, 0x80,
      0xb9, 0x7e, 0x5c, 0x5a, 0x63, 0xe0, 0x8d, 0xeb, 0xd0, 0xec, 0x9c, 0x3a, 0x94, 0x64, 0x7c, 0x13,
      0x54, 0x0d, 0xd6, 0xe3, 0x27, 0x88, 0xa6, 0xd2, 0x4b, 0x36, 0xdd, 0x2e, 0xfa, 0x94, 0xe5, 0x03,
      0x27, 0xc9, 0xa6, 0x31, 0x02, 0xea, 0x40, 0x77, 0x2e, 0x93, 0xc4, 0x4d, 0xe2, 0x70, 0xe2, 0x67,
      0x1c, 0xa8, 0x0d, 0xcd, 0x1a, 0x72, 0x86, 0x2c, 0xea, 0xdc, 0x7f, 0x8c, 0x49, 0x2c, 0xe7, 0x99,
      0x13, 0xda, 0x3f, 0x58, 0x9e, 0xf5, 0x4d, 0x3c, 0x8c, 0x1c, 0xed, 0x85, 0xa7, 0xe2, 0xae, 0xda,
      0x5f, 0xbe, 0x36, 0x1c, 0x9f, 0x5a, 0xa0, 0xdc, 0x2a, 0xc0, 0xee, 0x71, 0x07, 0x26, 0x8b, 0xe8,
      0x8a, 0xf8, 0x2d, 0x36, 0x78, 0xc9, 0x79, 0xfa, 0xbe, 0x98, 0x59, 0x95, 0x12, 0x24, 0xf1, 0xda,
      0x20, 0xc7, 0x78, 0xf9, 0x7c, 0x6a, 0x24, 0x43, 0x82, 0xa8, 0x0f, 0xb1, 0x7d, 0x94, 0xaa, 0x30,
      0x35, 0xe5, 0x69, 0xdc, 0x0a, 0x0e, 0xaf, 0x10, 0x5e, 0x1a, 0x81, 0x50, 0x5c, 0x7e, 0x24, 0xb3,
      0x07, 0x65, 0x4b, 0xc1, 0x7e, 0xc6, 0x38, 0xdb, 0xd3, 0x6a, 0xf0, 0xd8, 0x85, 0x61, 0x9a, 0x9f,
      0xfe, 0x02, 0x46, 0x29, 0xb2, 0x9a, 0xe2, 0x04, 0xe7, 0x72, 0xcc, 0x87, 0x46, 0xba, 0x7d, 0xa8,
      0xf9, 0xd0, 0x0f, 0x29, 0xfc, 0xfd, 0xd1, 0xd0, 0x7f, 0x36, 0xc1, 0xd8, 0x7d, 0x88, 0x03, 0x62,
      0xf5, 0x8c, 0x00, 0xb5, 0xc2, 0x81, 0x44, 0x67, 0x58, 0x11, 0xb4, 0x3a, 0xbb, 0xd1, 0x8c, 0x94,
      0x20, 0x60, 0xea, 0xa0, 0xac, 0xc1, 0xf1, 0x08, 0x54, 0xb8, 0xf6, 0x5e, 0xac, 0xf1, 0xec, 0x78,
      0x69, 0x9d, 0x7e, 0x4d, 0x06, 0x3b, 0x9b, 0x78, 0x78, 0x10, 0x31, 0x82, 0x01, 0xd4, 0x30, 0x82,
      0x01, 0xd0, 0x02, 0x01, 0x01, 0x30, 0x37, 0x30, 0x32, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55,
      0x04, 0x03, 0x0c, 0x07, 0x70, 0x6c, 0x75, 0x74, 0x6f, 0x43, 0x41, 0x31, 0x1e, 0x30, 0x1c, 0x06,
      0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x0c, 0x0f, 0x70, 0x6c, 0x75, 0x74,
      0x6f, 0x40, 0x70, 0x6c, 0x75, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x02, 0x01, 0x02, 0x30, 0x09,
      0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0xa0, 0x74, 0x30, 0x15, 0x06, 0x08, 0x2b,
      0x06, 0x01, 0x04, 0x01, 0x3f, 0x2a, 0x06, 0x31, 0x09, 0x04, 0x07, 0x68, 0x6f, 0x69, 0x20, 0x6a,
      0x6f, 0x68, 0x30, 0x18, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x03, 0x31,
      0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0x30, 0x1c, 0x06, 0x09,
      0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x05, 0x31, 0x0f, 0x17, 0x0d, 0x31, 0x39, 0x30,
      0x39, 0x31, 0x31, 0x30, 0x32, 0x35, 0x34, 0x36, 0x30, 0x5a, 0x30, 0x23, 0x06, 0x09, 0x2a, 0x86,
      0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x04, 0x31, 0x16, 0x04, 0x14, 0x11, 0xe1, 0xcc, 0x76, 0x17,
      0x3a, 0x5f, 0xc7, 0x06, 0x23, 0x74, 0x4a, 0x68, 0x40, 0x7d, 0x0b, 0x30, 0x65, 0x14, 0x75, 0x30,
      0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82,
      0x01, 0x00, 0x51, 0x0c, 0x91, 0x28, 0x6d, 0x4b, 0x19, 0xc9, 0xb1, 0x0f, 0x24, 0xda, 0xe4, 0xe2,
      0x56, 0x4f, 0xda, 0x87, 0x57, 0xc6, 0x11, 0xb0, 0x00, 0xcb, 0xa6, 0x38, 0x5c, 0x04, 0x8b, 0xd3,
      0xc7, 0xdb, 0x36, 0x85, 0x66, 0xa7, 0x5b, 0xcd, 0x8d, 0x32, 0x5c, 0x4e, 0xc4, 0x8a, 0x50, 0xb5,
      0xb5, 0x19, 0xf6, 0x7c, 0x31, 0xdd, 0xf9, 0x9c, 0xdd, 0xce, 0xf6, 0x3a, 0x51, 0xf9, 0xc7, 0x53,
      0xe1, 0x72, 0x89, 0xaa, 0x8c, 0xf7, 0xa9, 0xed, 0xa8, 0xc9, 0x93, 0x2a, 0xc0, 0x89, 0x24, 0x8e,
      0xd7, 0x7e, 0x66, 0x30, 0x1e, 0x46, 0x15, 0xbc, 0xe0, 0x0b, 0x37, 0xdc, 0xd5, 0xe0, 0x88, 0xed,
      0xbe, 0x0c, 0x7c, 0x6c, 0xd9, 0xd0, 0x58, 0x64, 0xff, 0x91, 0x5f, 0x18, 0xaa, 0x91, 0xa8, 0x3e,
      0x36, 0x4f, 0xe1, 0xda, 0x85, 0x35, 0x3e, 0xa3, 0x87, 0xbc, 0xa2, 0xec, 0x71, 0x71, 0xb5, 0xc9,
      0xc8, 0x71, 0x43, 0x01, 0x8f, 0x1d, 0x64, 0x5e, 0xfa, 0xdd, 0x58, 0xce, 0x6d, 0xb5, 0x46, 0x09,
      0xef, 0x6e, 0x87, 0xc4, 0xe7, 0x61, 0x6d, 0x7e, 0x8b, 0x2c, 0x57, 0x2f, 0x9f, 0x36, 0xc5, 0xd4,
      0x34, 0x4c, 0xbb, 0xa2, 0xca, 0xee, 0xbb, 0x48, 0xbe, 0x93, 0x06, 0x44, 0xbc, 0x54, 0xdc, 0x28,
      0xa6, 0x57, 0x80, 0x5c, 0xc0, 0x0c, 0xa5, 0x1c, 0x50, 0x9a, 0x44, 0x26, 0x56, 0xc1, 0xc4, 0xfd,
      0x1a, 0xc1, 0xcf, 0x42, 0xf0, 0x49, 0xf5, 0x49, 0xbe, 0x37, 0x98, 0xb5, 0xfe, 0x66, 0x13, 0x7d,
      0xec, 0xda, 0xd6, 0x59, 0xf7, 0x3b, 0x89, 0x20, 0x8f, 0x73, 0xf7, 0x9f, 0x2f, 0x6e, 0x09, 0x62,
      0x25, 0x6a, 0xec, 0x2b, 0x19, 0x5a, 0x37, 0x77, 0x30, 0x30, 0x74, 0x3b, 0x40, 0xb2, 0xed, 0x44,
      0xf2, 0xe7, 0x5e, 0x2c, 0xbb, 0x53, 0x5d, 0x36, 0x73, 0x1c, 0xbd, 0xd7, 0xf7, 0xdf, 0x82, 0x7d,
      0xce, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

static void test_decode_signing_time_leap_seconds(void) {
    SecCertificateRef cert = NULL;
    SecTrustRef trust = NULL;
    SecPolicyRef policy = SecPolicyCreateBasicX509();
    CFDictionaryRef attrs = NULL;
    CFDataRef message = NULL;

    CFDataRef message_data = CFDataCreate(NULL, _sixty_seconds_message, sizeof(_sixty_seconds_message));
    ok_status(SecCMSVerifyCopyDataAndAttributes(message_data, NULL, policy, &trust, &message, &attrs), "decode message again");
    CFReleaseNull(trust);
    isnt(CFDictionaryGetValue(attrs, kSecCMSSignDate), NULL, "failed to get cooked data from attributes");

    CFReleaseNull(cert);
    CFReleaseNull(policy);
    CFReleaseNull(attrs);
    CFReleaseNull(message);
    CFReleaseNull(message_data);
}

static void test_muliple_policies(void) {
    SecTrustRef trust = NULL;
    SecPolicyRef policy1 = SecPolicyCreateBasicX509();
    SecPolicyRef policy2 = SecPolicyCreateSSL(true, CFSTR("www.example.com"));
    CFMutableArrayRef policies = CFArrayCreateMutable(NULL, 2, &kCFTypeArrayCallBacks);
    CFArrayAppendValue(policies, policy1);
    CFArrayAppendValue(policies, policy2);
    CFDataRef message = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
        openssl_generated_cms, sizeof(openssl_generated_cms), kCFAllocatorNull);

    ok_status(SecCMSVerify(message, NULL, policies, &trust, NULL), "verify self");
    isnt(NULL, trust, "got trustref");

    CFReleaseNull(trust);
    CFReleaseNull(policy1);
    CFReleaseNull(policy2);
    CFReleaseNull(policies);
    CFReleaseNull(message);
}

int si_60_cms(int argc, char *const *argv)
{
#if TARGET_OS_IPHONE
	plan_tests(50);
#else
    plan_tests(49);
#endif

	tests();
    test_key_usage_enveloped_data();
    test_decode_signing_time_leap_seconds();
    test_muliple_policies();

	return 0;
}
